gpt4 book ai didi

php - Yii Ajax 表单只验证一个字段

转载 作者:搜寻专家 更新时间:2023-10-31 22:03:58 24 4
gpt4 key购买 nike

我的模型注册表中有一个电子邮件字段和其他字段,如姓名、国家/地区、年龄。

而且我必须只对电子邮件字段进行ajax验证 onChange事件。

我已将我的 View 设置为启用 ajax 验证。

我的问题是 ajax 验证不仅适用于电子邮件的所有字段,我只需要对一个字段的 onChange 事件执行此操作。

这是我的看法

$form=$this->beginWidget('bootstrap.widgets.TbActiveForm', array(
'id'=>'Login-Form',
'enableClientValidation'=>true,
'enableAjaxValidation'=>true,
'clientOptions'=>array(
'validateOnSubmit'=>true,
),
));
echo $form->errorSummary($loginForm);

echo $form->textFieldRow($loginForm, 'email');

echo $form->textFieldRow($loginForm, 'name');

echo $form->textFieldRow($loginForm, 'age');

echo $form->textFieldRow($loginForm, 'country');

这是我的模型

public function rules()
{
return array(
array('email, country, name', 'required'),
array('email', 'checkEmail')
);
}
// custom function to check email
public function checkEmail($attribute, $params)
{
$this->addError($attribute,strtr('email exsit before',$params));
}

如何在没有 ajax 验证的情况下仅对电子邮件和客户端的其他字段(国家、姓名、年龄)启用 ajax 验证。

请帮我抽出很多时间去做。

谢谢

最佳答案

像这样在更改时设置表单 clientOption:

$form=$this->beginWidget('bootstrap.widgets.TbActiveForm', array(
'id'=>'Login-Form',
'enableClientValidation'=>true,
'enableAjaxValidation'=>true,
'clientOptions'=>array(
'validateOnSubmit'=>true,
'validateOnChange'=>true,

以便在更改时可以触发验证这可以通过在验证触发器上将第 4 个参数设置为 false 来完成。

<?php echo $form->error($model,'email', array(), false); ?>

关于php - Yii Ajax 表单只验证一个字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22530816/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com