YiiNewer
- YiiNewer 回答了问题 有没有日期控件,有没有编辑器控件
如果你要用composer的话,看看这个帖子中吧 http://pkg.phpcomposer.com/ 国内composer镜像。
https://github.com/2amigos ,看这个里面有yii的好多扩展的插件,小部件,包括datepicker和datetimepicker yii\widgets\ActiveField中有这么一个属性enableAjaxValidation是否启用基于ajax的数据验证。如果没有设置值等于ActiveForm::enableAjaxValidation的值。
$form = ActiveForm::begin(); echo $form->field($model, 'username',['enableAjaxValidation'=>true])->textInput(['maxlength' => true]); echo $form->field($model, 'password')->passwordInput(); ActiveForm::end();
上面的代码我的理解是username字段进行ajax验证,password字段不进行ajax验证。但是我尝试了一下发现还有点问题,就是如果先输入password字段的话password是不会进行ajax验证的,但是只要先输入username进行了ajax验证之后再输入password时发现也出现了ajax验证,就是说一但有一个字段先进行了ajax验证其他不需要的字段也会进行ajax验证。现在还在研究这个问题,希望对你有点思路
好的,我已经知道是怎么做的了,多谢!
yii\widgets\ActiveField中有这么一个属性enableAjaxValidation是否启用基于ajax的数据验证。如果没有设置值等于ActiveForm::enableAjaxValidation的值。
$form = ActiveForm::begin(); echo $form->field($model, 'username',['enableAjaxValidation'=>true])->textInput(['maxlength' => true]); echo $form->field($model, 'password')->passwordInput(); ActiveForm::end();
上面的代码我的理解是username字段进行ajax验证,password字段不进行ajax验证。但是我尝试了一下发现还有点问题,就是如果先输入password字段的话password是不会进行ajax验证的,但是只要先输入username进行了ajax验证之后再输入password时发现也出现了ajax验证,就是说一但有一个字段先进行了ajax验证其他不需要的字段也会进行ajax验证。现在还在研究这个问题,希望对你有点思路
它这块说的不太清楚,你这些我也都试过了,其实ajax还是按我说的覆盖model的clientValidateAttribute方法
- YiiNewer 回复了 sevenyearsold 的回答
在ActiveForm中配置
'enableAjaxValidation'=>true
,默认是false@张三风 对啊,所以我觉得他也不懂,应该改的是验证器的clientValidateAttribute方法