zf2过滤验证

<?php
namespace Oa\Model;

use \Zend\InputFilter\InputFilterAwareInterface;
use \Zend\InputFilter\InputFilter;
use Zend\InputFilter\Factory;
use Zend\InputFilter\InputFilterInterface;
use Oa\Model\BaseModel;


class Userinfo extends BaseModel
{
    public $id;
    public $employeeId;
    public $name;
    public $company;
    public $area;
    public $part1;
    public $part2;
    public $team;
    public $job;
    public $attendId;
    public $identify;
    public $sex;

    public function getInputFilter() {

        if(!$this->inputFilter) {
            $this->inputFilter = new InputFilter();

            $this->inputFilter->add([
                'name'=>'employeeId',
                'required'=>true,
                'filters'=>[
                    ['name'=>'StringTrim'],
                ],
                'validators'=>[
                    ['name'=>'NotEmpty',
                        'options'=>[
                            'message'=>[
                                '\Zend\Validator\NotEmpty::IS_EMPTY'=>'员工号不能为空',
                            ],
                        ],
                    ],

                ]
            ]);

            $this->inputFilter->add([
                'name'=>'attendId',
                'required'=>true,
                'filters'=>[
                    ['name'=>'StringTrim'],
                ],
                'validators'=>[
                    ['name'=>'NotEmpty',
                        'options'=>[
                            'message'=>[
                                '\Zend\Validator\NotEmpty::IS_EMPTY'=>'考勤号不能为空',
                            ],
                        ],
                    ],
                    ['name'=>'Digits',
                        'options'=>[
                            'message'=>[
                                '\Zend\Validator\Digits::NOT_DIGITS'=>'考勤号只能为数字'
                            ]
                        ]
                    ]
                ]
            ]);
            $this->inputFilter->add([
                'name'=>'identify',
                'required'=>true,
                'filters'=>[
                    ['name'=>'StringTrim'],
                ],
                'validators'=>[
                    ['name'=>'NotEmpty',
                        'options'=>[
                            'message'=>[
                                '\Zend\Validator\NotEmpty::IS_EMPTY'=>'身份证不能为空',
                            ],
                        ],
                    ],

                ]
            ]);
            $this->inputFilter->add([
                'name'=>'name',
                'required'=>true,
                'filters'=>[
                    ['name'=>'StringTrim'],
                ],
                'validators'=>[
                    ['name'=>'NotEmpty',
                        'options'=>[
                            'message'=>[
                                '\Zend\Validator\NotEmpty::IS_EMPTY'=>'姓名不能为空',
                            ],
                        ],
                    ],
                ]
            ]);

            $this->inputFilter->add([
                'name'=>'name',
                'required'=>true,
                'filters'=>[
                    ['name'=>'StringTrim'],
                ],
                'validators'=>[
                    ['name'=>'NotEmpty',
                        'options'=>[
                            'message'=>[
                                '\Zend\Validator\NotEmpty::IS_EMPTY'=>'姓名不能为空',
                            ],
                        ],
                    ],
                ]
            ]);
            $this->inputFilter->add([
                'name'=>'area',
                'required'=>true,
                'filters'=>[
                    ['name'=>'StringTrim'],
                ],
                'validators'=>[
                    ['name'=>'NotEmpty',
                        'options'=>[
                            'message'=>[
                                '\Zend\Validator\NotEmpty::IS_EMPTY'=>'地区不能为空',
                            ],
                        ],
                    ],
                ]
            ]);
            $this->inputFilter->add([
                'name'=>'part1',
                'required'=>true,
                'filters'=>[
                    ['name'=>'StringTrim'],
                ],
                'validators'=>[
                    ['name'=>'NotEmpty',
                        'options'=>[
                            'message'=>[
                                '\Zend\Validator\NotEmpty::IS_EMPTY'=>'部门不能为空',
                            ],
                        ],
                    ],
                ]
            ]);
            $this->inputFilter->add([
                'name'=>'company',
                'required'=>true,
                'filters'=>[
                    ['name'=>'StringTrim'],
                ],
                'validators'=>[
                    ['name'=>'NotEmpty',
                        'options'=>[
                            'message'=>[
                                '\Zend\Validator\NotEmpty::IS_EMPTY'=>'公司不能为空',
                            ],
                        ],
                    ],
                ]
            ]);

        }

        return $this->inputFilter;
    }

}
//笔者感觉这配置不够YII2.0配置方便

//渲染表单,渲染错误
<div class="col-sm-5">
        <?php echo $this->formHidden($form->get('id'));?>
        <div class="input-group ">
            <span class="input-group-addon">员工编号</span>
         <?php echo $this->formElement($form->get('employeeId')->setAttributes(['class'=>'form-control']));?>
        </div>

        

        <div class="input-group ">
            <span class="input-group-addon">考勤编号</span>
            <?php echo $this->formElement($form->get('attendId')->setAttributes(['class'=>'form-control']));?>
        </div>

        <div class="input-group ">
            <span class="input-group-addon">姓名</span>
            <?php echo $this->formElement($form->get('name')->setAttributes(['class'=>'form-control']));?>
        </div>
        
       <div class="input-group ">
            <span class="input-group-addon">公司</span>
             <?php echo $this->formElement($form->get('company')->setAttributes(['class'=>'form-control']));?>
        </div>
        
         <div class="input-group ">
            <span class="input-group-addon">地区</span>
             <?php echo $this->formElement($form->get('area')->setAttributes(['class'=>'form-control']));?>
        </div>
        
       <div class="input-group ">
            <span class="input-group-addon">一级部门</span>
             <?php echo $this->formElement($form->get('part1')->setAttributes(['class'=>'form-control']));?>
        </div>
        
       <div class="input-group ">
            <span class="input-group-addon">二级部门</span>
             <?php echo $this->formElement($form->get('part2')->setAttributes(['class'=>'form-control']));?>
        </div>
        
         <div class="input-group ">
            <span class="input-group-addon">职级</span>
             <?php echo $this->formElement($form->get('team')->setAttributes(['class'=>'form-control']));?>
        </div>
        <div class="input-group ">
            <span class="input-group-addon">职位</span>
             <?php echo $this->formElement($form->get('job')->setAttributes(['class'=>'form-control']));?>
        </div>
        <div class="input-group ">
            <span class="input-group-addon">身份证</span>
            <?php echo $this->formElement($form->get('identify')->setAttributes(['class'=>'form-control']));?>
        </div>
        <div class="input-group ">
            <span class="input-group-addon">性别</span>
            <?php echo $this->formSelect($form->get('sex')->setAttributes(['class'=>'form-control']));?>
        </div>
       
        <br>
        <div >
            <?php echo $this->formSubmit($form->get('submit')->setAttributes(['class'=>'btn btn-success']));?>
        </div>
       
       
        <?php echo $this->form()->closeTag(); ?>
    </div>
     <?php
            $this->formElementErrors()
                ->setMessageOpenFormat('<ul class="error"><li>')
                ->setMessageSeparatorString('</li><li>')
                ->setMessageCloseString('</li></ul>');
            echo $this->formElementErrors($form->get('employeeId'));
            echo $this->formElementErrors($form->get('attendId'));
            echo $this->formElementErrors($form->get('name'));
            echo $this->formElementErrors($form->get('area'));
            echo $this->formElementErrors($form->get('identify'));

            ?>
</div>
//笔者之前用的是formRow函数,可是输出的错误信息位置不是我想要的,于是找到了formElement函数,而且找到的设置
//错误信息模板方法,还有如何单独输出错误信息


转载于:https://my.oschina.net/u/2618337/blog/631245

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值