2010-08-12 2 views
0

У меня есть следующие таблицы базы данных:Проверка модели в ASP.Net MVC2

alt text

А вот код я использую для проверки модели, созданной с помощью Entity Framework:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.ComponentModel.DataAnnotations; 
using System.Web.Mvc; 

namespace UTEPSA.Models 
{ 
    [MetadataType(typeof(Area_Validation))] 
    public partial class Area 
    { 

    } 

    public class Area_Validation 
    { 
     [Required(ErrorMessage = "Campo requerido: Debe elegir un Jefe valido.")]   
     public int IDJefe { get; set; } 

     [Required(ErrorMessage = "Campo requerido: Nombre")] 
     public string Nombre { get; set; } 
    } 
} 

Поле идентификатора находится в первичном ключе int, и оно является идентификатором, поэтому оно автоинкретизируется, и мне не нужно когда-либо вводить поле.

Однако, когда я пытаюсь сохранить форму для нее при редактировании, мне НЕОБХОДИМО писать в любом количестве вообще для его прохождения.

When I leave the field blank: 
Validation fails. 

When I type in a string: 
Validation fails. 

When I type in ANY number: 
Validation passes. 

Любое предложение о том, как игнорировать это поле?

Вынесено HTML является:

<form action="/area/create" method="post"> 

     <fieldset> 
      <legend>Fields</legend> 

      <div class="editor-label"> 
       <label for="ID">ID</label> 
      </div> 
      <div class="editor-field"> 
       <input id="ID" name="ID" type="text" value="0" /> 

      </div> 

      <div class="editor-label"> 
       <label for="IDJefe">IDJefe</label> 
      </div> 
      <div class="editor-field"> 
       <input id="IDJefe" name="IDJefe" type="text" value="" /> 

      </div> 

      <div class="editor-label"> 
       <label for="Nombre">Nombre</label> 
      </div> 
      <div class="editor-field"> 
       <input id="Nombre" name="Nombre" type="text" value="" /> 

      </div> 

      <p> 
       <input type="submit" value="Create" /> 
      </p> 
     </fieldset> 

    </form> 

ответ

-1

Вы не должны установить его требуется, то, так как это не требуется для вставки.