我有一個包含日期時間值的輸入框(文本),出於某種原因,此輸入框在我甚至不需要它時進行驗證。當我從未要求驗證時,輸入data-val = true時強制驗證
我的模型和ViewModel根本就沒有驗證。
在我的Razor視圖頁面我有有一些輸入字段:
@Html.ValidationMessageFor(vm => vm.User.Age)
在此輸入我嘗試輸入一些字符串,它給了我一個客戶端驗證警告:
@Html.TextBoxFor(vm => vm.User.BannedDate)
下面是呈現下面的輸入框中輸入HTML:我使用Bootstra
<input data-val="true" data-val-date="The field BannedDate must be a date." id="User_BannedDate" name="User.BannedDate" type="text" value="27/02/2014 12:00:00 AM" class="input-validation-error">
p,我也有jquery。它可以自動檢測事物嗎?
更新
沒有一個全球化的標籤web.config中
在我的控制器的OnActionExecuting我設置:
System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("en-CA");
視圖模型中的不可爲空的DateTime屬性將強制進行驗證是正常的。視圖模型上的DateTime屬性將要求用戶輸入一個尊重客戶端瀏覽器CultureInfo格式的值。你期望什麼? –
@DarinDimitrov該字段在我的模型中可以爲空。 – loyalflow
用戶是否在相應的輸入字段中輸入了某個值?如果他這樣做,他使用什麼格式?這種格式是否尊重他正在使用的日期的文化格式?例如,如果客戶端瀏覽器配置爲使用bg-BG文化信息(保加利亞語),則預計他將DateTime輸入爲「dd.MM.yyyy」。 –