<?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