在 yii 框架上收集多个输入以进行一次验证
Collect multi inputs with to one validation on yii framework
我正在使用Yii框架,我有3个电话号码输入的表单。我把它拆分为这种格式(XXX-XXX-XXXX)减号分割的每一部分都是输入。
我想在用户更改/传递所有 3 个字段后对其进行验证,如果它无效,则给出一条错误消息。我想以相同的顺序保存它并将其拆分回相同的格式。
这是我的代码示例。
<?php echo $form->labelEx($model,'phone'); ?>
<?php echo $form->textField($model,'phone[0]'); ?>
<?php echo $form->textField($model,'phone[1]'); ?>
<?php echo $form->textField($model,'phone[2]'); ?>
我该怎么做?
您可以在控制器上验证输入,并在需要时添加错误:
// ...
$validator = new CRegularExpressionValidator;
$validator->pattern = '/^[0-9]{3}'-[0-9]{3}'-[0-9]{3}/';
if ( !$validator->validate( $model->phone[0] ) ) // Do this for all of your phone fields!
{
// add error if not added yet: $model->addError( ... );
}
if ( $model->validate( null, false ) ) // notice the 2nd argument!
{
// ...
}
或者,您可以使用完全相同的代码在模型类中定义自己的验证器(我相信这是更好的选择)。
相关文章:
- CSS 类在验证时只工作一次
- Jquery验证,只发出一次警报
- 如何一次验证所有字段
- jQuery表单验证只适用于一次发布
- Javascript 字符串验证.如何在字符串中只写一次字符,并且只在开头写一次
- 在 yii 框架上收集多个输入以进行一次验证
- 验证用户是否仅投票一次
- cookie是jQuery为每个用户只打开一次弹出窗口的唯一方法吗?或者jQuery可以处理IP验证
- 输入验证只工作一次
- 如何一次用两个结果进行两个验证
- WebShim:一次显示表单验证的所有错误消息
- 验证后执行一次javascript代码
- 验证插件一次处理两个表单,错误
- Jquery自定义日期验证器只工作一次
- Dojo淡出只在验证期间的函数调用中工作一次
- 验证码刷新脚本只工作一次
- jQuery按钮一次验证表单的一部分
- 在提交时一次内联显示所有验证消息
- 同一块元素一次显示一个,并可验证命名
- 使用jquery验证器单击一个按钮即可在同一页面上一次验证多个表单