2015-08-12 4 views
1

У меня есть форма, и я хочу проверить только некоторые поля. Я использовал для отключения некоторой проверки поля с помощью data-val = "false". Он работает нормально на стороне клиента. Но serveride это не так.проверить некоторые поля в asp.net mvc 5 (vb)

Вот мой код

<div class="col-lg-12"> 
    <div class="col-lg-6"> 
     <label>@Html.RadioButtonFor(Function(model) model.Sex, "M") Male 
     </label> 
     </div> 
     <div class="col-lg-6"> 
      <label>@Html.RadioButtonFor(Function(model) model.Sex, "F") Female 
      </label> 
     </div> 
     @Html.ValidationMessageFor(Function(model) model.Sex, "", New With {.class = "text-danger"}) 
    </div> 
<div class="col-lg-12 "> 
    @Html.LabelFor(Function(model) model.DateOfJoin, htmlAttributes:=New With {.class = "col-lg-4 control-label"}) 
    <div class="col-lg-8"> 
     @Html.EditorFor(Function(model) model.DateOfJoin, New With {.htmlAttributes = New With {.class = "form-control datefield", .data_val = False}}) 
     @*@Html.ValidationMessageFor(Function(model) model.DateOfJoin, "", New With {.class = "text-danger"})*@ 
    </div> 
    </div> 

Моя модель

<MetadataType(GetType(EmployeeMasterMetaData))> _ 
Partial Public Class EmployeeMaster 
    Public Overridable Property DepartmentMaster As DepartmentMaster 
    Public Overridable Property DesignationMaster As DesignationMaster 
End Class 
Public Class EmployeeMasterMetaData 

<Required(ErrorMessage:="Sex is required")> 
Public Property Sex As String 

<Display(Name:="Date Of Join")> 
Public Property DateOfJoin As Date 
End Class 

Я не хочу, чтобы проверить поле DateOfJoin и пустые значения для него, можно сохранить. Как это можно сделать?

+0

Показать модель. Если вы хотите, чтобы свойство 'DateOfJoin' было' null', сделайте свойство nullable. –

+0

Я добавил модель класса –

+0

Вам нужно сделать значение DateOfJoin нулевым. Typeof 'Date' не может быть нулевым, поэтому, если вы отправляете пустое значение, вы получите ошибку проверки. –

ответ

1

Если вы хотите, чтобы поле даты было равно NULL, установите дату, как показано ниже.

public DateTime? DateOfJoin { get; set; } 

Значок Вопроса после типа даты и времени устанавливает данные как обнуляемые. Если используется первый метод базы данных, разрешите соответствующему полю принимать значение NULL.