사용자 지정 클라이언트 쪽 유효성 검사를 구현하려고하지만 작동하지 않습니다. 나는 Codeproject에 관한 기사에 기초를두고있다. http://www.codeproject.com/Articles/275056/Custom-Client-Side-Validation-in-ASP-NET-MVC3ASP.NET MVC 3 - 사용자 지정 클라이언트 쪽 유효성 검사가 작동하지 않습니다.
나는 또한 여기에서 보았다. 그러나 나는 올바른 방식으로 그것을 구현한다고 생각하지만, 나는 무엇인가를 간과하고있다. 목표는 날짜를 확인하는 것입니다 (필수, 날짜 형식 및 양식의 다른 날짜보다 빠름). 처음 두 단계는 데이터 주석을 사용하여 수행 할 수 있습니다. 마지막 단계는 사용자 정의 유효성 검사와 관련이 있습니다.
내 기본 클래스에있는 일부 dataannotations (ClassLibrary은 VB.NET에) :
Imports System.ComponentModel
Imports System.ComponentModel.DataAnnotations
<MetadataType(GetType(CM_CONTRACTVALIDATIONData))>
Partial Public Class CM_CONTRACTACTIVATION
'...
End Class
Public Class CM_CONTRACTVALIDATIONdata
'...
<DataType(DataType.Date)>
<Required()>
Public Property TakeBackDeviceWhen
'..
End Class
나는 사용자 지정 방법 추가 한 자바 스크립트 파일에서 :
이//validation
$.validator.addMethod("checkPickupDate", function (value, element) {
return false;
});
$("#form").validate({
rules: {
TakeBackDeviceWhen: {
checkPickupDate: true
}
},
messages: {
TakeBackDeviceWhen: {
checkPickupDate: "Test"
}
}
}
);
내 CHTML 파일이에게 다음과 같이 :
@Html.TextBox("TakeBackDeviceWhen", Model.TakeBackDeviceWhen.HasValue ? Model.TakeBackDeviceWhen.Value.ToShortDateString() : "", new { style = "Width: 200px" })
결과 HTML은 다음과 같다 :
<input id="TakeBackDeviceWhen" class="hasDatepicker" type="text" value="" style="Width: 200px" name="TakeBackDeviceWhen" data-val-required="The TakeBackDeviceWhen field is required." data-val="true">
내 형식 유효성 검사와 사용자 지정 유효성 검사가 모두 구현되지 않은 것으로 보입니다.
무엇이 잘못 되었나요?
나는이 문제를 조사해 왔습니다. MVC 프로젝트를 테스트 해 보았습니다. 그러나 그것도 작동하지 않습니다. 기사를 두 번 확인했고 나는 그들이 나에게 말한 것과 똑같이하고 있다고 생각한다. 이 프로젝트에서는 데이트 체크가 없습니다 : http://www.4shared.com/zip/e9eb0Dza/TestMVC.html?refurl=d1url – JurgenStillaert
OK. DataType이 유효성 검사를 시행하지 않는 것으로 나타났습니다. 프로 ASP.NET MVC3 Framework 페이지 605 : "■ 팁 DataType 속성은 템플릿 입력 된 도우미 (16 장에서 설명)를 사용하여 값 을 렌더링하는 힌트를 제공하기 위해 사용자 입력 전용의 유효성을 검사하는 데 사용할 수 없습니다. 특정 형식을 적용하는 DataType (DataType.EmailAddress) 특성. " – JurgenStillaert
현재 상태 : (1) EditorFor를 사용하지 않습니다. (2) data_val, data_val_required, data_val_date를 htmlattribute로 필드에 추가합니다. (3) DataType 주석은 형식 유효성 검사를 강제하지 않습니다. 여전히 사용자 정의 jQuery 유효성 검사기를 추가하는 데 어려움이 있습니다. http://www.4shared.com/zip/f9G2eNwu/TestMVC2.html을 참조하십시오. – JurgenStillaert