我正在使用像这样的pjax形式的ajax验证
<?php Pjax::begin(); ?>
<?php $form = ActiveForm::begin([
'id' => 'address-details-form',
'options' => ['class' => 'form-horizontal','data-pjax' => true,],
'enableAjaxValidation'=>true,
]); ?>
//My form
<?php ActiveForm::end(); ?>
<?php Pjax::end();
提交表单后,它会发布一些这样的模型数据
“personaldetails-manual_address_line1”:[“您必须输入地址行1”],“personaldetails-manual_address_line2”:[“您必须输入地址行2”],“personaldetails-manual_address_line3”:[“您必须输入地址行3”] ,“personaldetails-manual_address_line4”:[“你必须输入地址第4行”],
实际上这是我的模型规则为什么会发生。但我删除ajax验证意味着它工作正常,但我想要ajax验证
答案 0 :(得分:0)
您必须在控制器中拥有此功能
if (Yii::$app->request->isAjax && $model->load(Yii::$app->request->post())) {
Yii::$app->response->format = Response::FORMAT_JSON;
return ActiveForm::validate($model);
}
这应该在你做完
之后$model = new [ModelClass]();
在此处查看更多详情:http://www.yiiframework.com/doc-2.0/guide-input-validation.html#ajax-validation
答案 1 :(得分:0)
最后我得到了带有ajax验证的pjax表单。我在我的控制器中组合ajax就像这样
<jaxrs:server id="cxfFactory" address="/">
<jaxrs:serviceBeans>
<ref
bean="defaultService" />
</jaxrs:serviceBeans>
我不知道我的朋友ganasa向我建议是不是写错了。我的工作正常。