내 페이지에 대한 클라이언트 쪽 유효성 검사 설정이 눈에 띄지 않습니다. 오류 메시지는 데이터베이스에서 반환됩니다. 유효성 검사 메시지 중 하나에 대해 매개 변수를 추가해야 특정 값으로 형식을 지정할 수 있습니다. 이 좋은 서버 쪽 작동하지만 GetClientValidationRules 메서드가 처음 설치 될 때 분명히 이러한 값 중 일부에 액세스 할 수 없습니다. 이 때문에 내 클라이언트 측 코드에서 오류 메시지를 작성해야 할 것 같지만 jQuery.validator.addMethod에서 true 또는 false를 반환하기 때문에이 작업을 수행하는 방법을 알지 못합니다.MVC3 및 사용자 지정 클라이언트 쪽 유효성 검사 메시지
그래서 기본적으로 할 수 있어야 할 것은 ErrorClassValidationRules 메서드에서 string.Empty로 ErrorMessage를 설정 한 다음 유효성 검사를 수행하는 임상가 측 코드에서 원하는 모든 메시지를 반환 할 수 있어야합니다. 여기
는public IEnumerable<ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context)
{
var rule = new ModelClientValidationRule
{
ValidationType = "maximumdatecoverrequired",
ErrorMessage = string.Empty,
};
rule.ValidationParameters.Add("maxdate", DateTime.Now.AddDays(Settings.Default.MaximumDateCoverRequiredDaysInFuture).ToString("yyyy/MM/dd"));
return new[] { rule };
}
다음이 특정 부동산에 대해 확인하는 나의 클라이언트 측 코드는
MVC 3에서 유선되는 클라이언트 측 코드입니다.jQuery.validator.addMethod("maximumdatecoverrequired", function (value, element, params) {
var maxDate = new Date(params["maxdate"]);
var day = maxDate.getDate();
var month = maxDate.getMonth() + 1;
var year = maxDate.getFullYear();
var dateCoverRequired = new Date(value).toString('yyyy/MM/dd');
maxDate = maxDate.toString('yyyy/MM/dd');
if (value > maxDate) {
$("input#DateCoverRequired_Day").val(day);
$("select#DateCoverRequired_Month").val(month);
$("input#DateCoverRequired_Year").val(year);
return false;
}
return true;
});
클라이언트 측 코드로 맞춤 메시지를 반환하려면 어떻게해야합니까?
유효성 검사를 하시겠습니까? 너무 많은 세부 사항이 누락되었습니다 – gdoron
gdoron - 나는 내 질문을 내가 성취하려는 것으로 업데이트했습니다. – doogdeb
@doogdeb, 다시 한 번 업데이트하고 이번에는 코드를 포함하는 것을 잊지 마십시오. –