Ich habe Formularaufbau mit YII-Framework. Die ersten 2 Eingänge sind "first_name" und "last_name" und ich habe viele weitere Eingänge in der gleichen Form. Ich überprüfe die Validierung mit "ajaxSubmitButton" und ich möchte zuerst überprüfen nur "first_name" und "last_name" übergeben die Validierung und wenn sie das nächste Mal tun, wenn der Benutzer wird es alle Formular überprüfen.YII Rahmen Form Ajax-Validierung nur Teil der Eingabe
Modell -> Regeln
array('first_name, last_name', 'length', 'min'=>2 , 'on' => 'setup'),
array('first_name, last_name , email, subject , message', 'length', 'min'=>2 , 'on' => 'submit'),
Ajax-Knopf Ansicht ->
<?php echo CHtml::ajaxSubmitButton('Submit',
CHtml::normalizeUrl(array('SubmitForm')),
array(
'error'=>'js:function(){
alert(\'error\');
}',
'beforeSend'=>'js:function(){
alert(\'beforeSend\');
}',
'success'=>'js:function(data){
alert(data);
}',
'complete'=>'js:function(){
// alert(\'complete\');
}',
'update'=>'#updatebox',
) ,array('id'=>'submit')
);
?>
Controller>
public function actionMessageForm()
{
$model = new Message;
if(isset($_POST['Message']))
{
$model->attributes=$_POST['Message'];
$valid = $model->validate('setup');
if($valid)
{
echo "pass";
$model->save();
}
else
{
echo "failed";
}
}
}
Wie kann ich teilweise Eingaben überprüfen? Was mache ich falsch?
Ich bin mir nicht sicher, ob ich dich verstanden habe. Sie müssen Ihr Formular zweimal validieren - das erste Mal, wenn Sie nur die Eingaben "first_name" und "last_name" validieren und danach was? – temni
Danach werde ich alle Formularfelder validieren. – Dar