message と messageto の 2 つのモデルがあり、messageto フォーム ページでメッセージ モデルの属性を使用しています。これらの属性を ajax 検証を使用して検証する方法は、YII が初めてです。
フィールドを表示するために application.extensions.tokeninput.TokenInput を使用していますが、これらのウィジェットのフィールドを検証できません。回答をお待ちいただきありがとうございます。
message と messageto の 2 つのモデルがあり、messageto フォーム ページでメッセージ モデルの属性を使用しています。これらの属性を ajax 検証を使用して検証する方法は、YII が初めてです。
フィールドを表示するために application.extensions.tokeninput.TokenInput を使用していますが、これらのウィジェットのフィールドを検証できません。回答をお待ちいただきありがとうございます。
How-Yii-Ajax-Validation-Worksをよく理解すると、この機能を使用したり、カスタマイズしたりするのに大いに役立ちます。
私はtokeninput 拡張機能を使用していないことを残念に思いますが、2 つのモデルの ajax 検証に関しては、次の一般的な計画が機能するはずです。
あなたのViewで、あなたが持っていることを確認してください:
$form = $this->beginWidget('CActiveForm', array(
'id'=>'some-id-for-your-form',
'enableAjaxValidation'=>true //turn on ajax validation on the client side
));
さらに、Viewでは、検証ルールを持つすべてのフィールドに次のものが必要です。
<?php echo $form->textField($model, 'some_attribute'); ?>
<?php echo $form->error($model, 'some_attribute'); ?> // This is used to present validations error
Controllerの create または update アクションで、 View入力をロードする前POST
に、次の行を追加します。
$messageModel = new Message;
$messageToModel = New MessageTo;
if(Yii::app()->getRequest()->getIsAjaxRequest())
{
echo CActiveForm::validate( array( $messageModel,$messageToModel));
Yii::app()->end();
}
/*
The rest of your code goes here
*/
enableAjaxValidation => true
使用している拡張機能については、View コードを自動生成する場合、必要な&$form->error($model,'some_attribute')
パーツを配置するように構成する方法を知る必要があります。
これが役に立ったことを願っています!!