簡體   English   中英

在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!
{
    // ...
}

或者,您可以使用幾乎相同的代碼在模型類中定義自己的驗證器(我相信這是更好的選擇)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM