javascript – Yii2为输入字段实现客户端唯一验证
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – Yii2为输入字段实现客户端唯一验证,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1242字,纯文字阅读大概需要2分钟。
内容图文
![javascript – Yii2为输入字段实现客户端唯一验证](/upload/InfoBanner/zyjiaocheng/788/b3c4b63e33f3484cb71162fa74206821.jpg)
我有一个大的形式,即
<?= $form->field($model, 'name')->textInput(['maxlength' => 255]) ?>
以下是我的ActiveForm选项配置:
<?php
$form = ActiveForm::begin([
//'id' => 'printerForm',
'enableClientValidation' => true,
'options' => [
'enctype' => 'multipart/form-data',
]
]);
?>
我想为此实现客户端唯一验证.我正在使用唯一的验证器,但它只用于服务器端验证.
public function rules() {
return [
[['name'], 'unique'],
]
...
other validations
...
};
其他验证工作完美但独特的客户端验证不起作用.
解决方法:
最后,我通过为单个输入字段启用AJAX验证并使用isAjax自行完成,以便服务器可以处理AJAX验证请求.
以下是代码:
在视图中:
<?= $form->field($model, 'name',['enableAjaxValidation' => true, 'validateOnChange' => false])->textInput(['maxlength' => 255]) ?>
在控制器中:
if (Yii::$app->request->isAjax && $model->load(Yii::$app->request->post())) {
$nm= $_POST['BusinessProcessProfile']['name'];
$result = Model::find()->select(['name'])->where(['name' => "$nm"])->one();
if ($result) {
Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
return \yii\widgets\ActiveForm::validate($model, 'name');
} else {
return false;
}
}
它会自动调用模型中定义的验证规则.
欲了解更多信息,请参阅:http://www.yiiframework.com/doc-2.0/guide-input-validation.html#client-side-validation
内容总结
以上是互联网集市为您收集整理的javascript – Yii2为输入字段实现客户端唯一验证全部内容,希望文章能够帮你解决javascript – Yii2为输入字段实现客户端唯一验证所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。