0
這是類似於我昨天的問題,因爲它涉及瀏覽器的格式和Date
類型的格式。自定義星期幾日期驗證需要實現或識別文化
Date validation allows invalid dates
我正在認真處理jQuery
,Javascript
和MVC
這可能是爲什麼我打磚牆不斷,因爲我不明白下一步該怎麼做。我正在創建一個簡單的假期申請。請求日期需要是工作日。
我昨天通過this,這裏是我的。
public class WeekdayAttribute : ValidationAttribute, IClientValidatable
{
public override bool IsValid(object value)
{
DateTime dt;
if (DateTime.TryParse(value.ToString(), out dt))
return dt.DayOfWeek != DayOfWeek.Saturday && dt.DayOfWeek != DayOfWeek.Sunday;
else
return false;
}
public IEnumerable<ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context)
{
yield return new ModelClientValidationRule()
{
ErrorMessage = ErrorMessage,
ValidationType = "weekdaydate"
};
}
}
然後我在jQuery.validate.unobtrusive
$jQval.addMethod("weekdaydate", function(value, element, params) {
var day = new Date(value).getDay();
return day != 0 && day != 6;
});
這樣做的功能工作正常,在這個意義上,如果我輸入一個無效US
日期,它會驗證罰款並呈現以下內容的消息。然而,它忽略了我的機器和瀏覽器是UK
,類似於我之前問題中的驗證(似乎只允許*/*/*
,其中*是數字)。
我的問題是,有沒有辦法強制我的日期是整個MVC網站的UK
格式?我如何強制UK
格式?
你可以給看看momentjs,一個漂亮的圖書館輕鬆地操作使用javascript日期:見http://momentjs.com/docs/#/解析/字符串格式/和http://momentjs.com/docs/#/i18n/ – jbl
@jbl我用過這個,謝謝:) – LukeHennerley