양식을 제출하지 않고 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;
}
이 잘 작동하고 규칙에 정의 된 미리 정의 된 활성 형태의 검증에 검증 할 때 오류가 (화면 에 표시됩니다) 함수를 사용하여 자바 스크립트에서이 일을하고 있습니다.
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');
}
}
같은 사용자 정의 유효성 검사기에
나는 또한 사용자 지정 유효성 검사기를 트리거하기 위해 내 자바 스크립트에 뭔가가 필요하십니까? 어떤 도움을 주시면 감사하겠습니다. 미리 감사드립니다.
당신은 사용할 필요가 [enableAjaxValidation 속성 (http://www.yiiframework.com/doc-2.0/guide-input-validation.html#ajax-validation). js를 사용할 필요가 없습니다. –