フォームをサブミットせずにActiveFormの内容を確認したかったのです。
私は現在、次のコードForm.yiiActiveForm( "validate")を呼び出すときにActiveRecordカスタムバリデータが実行されない
var form = $(this).closest('tr').find('form');
var data = form.serialize();
d = form.data("yiiActiveForm");
$.each(d.attributes, function() {
this.status = 3;
});
form.yiiActiveForm("validate");
if (form.find(".has-error").length) {
return false;
}
とJavaScriptでこれをやっているこれが正常に動作し、ルールでのActiveRecordの()関数を定義した定義済みのアクティブなフォームのバリデータで検証するときにエラーが画面 に示されています。
array_push($r, ['tel_no', 'required', 'message' => 'input telephone no.']);
array_push($r, ['mail_address', 'email', 'message' => 'input correct email']);
ではなく、カスタムバリデータで次の
array_push($r, ['card_no', 'validateCardNo']);
public function validateCardNo($attribute, $params) {
if (!preg_match('/^[A-Za-z0-9-\/]+$/D', $this->$attribute)) {
$this->addError('card_no', 'input correct card no');
}
}
のような私は、カスタムバリデータをトリガするために私のjavascriptのに何か必要ですか?どんな助けもありがとう。 ありがとうございます
[enableAjaxValidationプロパティ](http://www.yiiframework.com/doc-2.0/guide-input-validation.html#ajax-validation)を使用する必要があります。 jsを使う必要はありません。 –