선택한 항목의 유효성을 검사하는 클라이언트 측 유효성 검사를 수행하는 방법은 무엇입니까?.Net MVC 선택한 항목의 유효성을 검사하십시오.
나는 사용자 역할 정보가있는 .Net MVC3 면도기에 DropDownList
이 있습니다. 역할은 SuperAdmin(RoleId=1)
, Operator(RoleId=2)
및 Viewer(RoleId=3)
이 될 수 있습니다.
이제 Operator
을 (를) 사용하지 않겠습니다. 사용자가 사용자 정보를 편집 할 때 역할이 Operator
인 경우 페이지에 유효성 검사 오류가 표시되도록 클라이언트 측 유효성 검사를 수행하는 방법
이
은 UserModel입니다 :// User Role Id
public int RoleId { get; set; }
/// Supported user roles
public IEnumerable<SelectListItem> SupportedRoles { get; set; }
보기 :
예상되는 동작은 그가 자신의 사용자 정보를 편집 할 때Operator
역할을 가진 사용자를 위해, 그는 자신의 변경 사항을 저장 할 수 있다는 것이다
Html.DropDownListFor(m => m.RoleId, Model.SupportedRoles)
그가 그의 역할을 Operator
에서 다른 역할로 변경하지 않는 한. 우리가 그렇게 할 경우, 다음 Operator
사용자가 다른 필드를 업데이트하지만 역할을 업데이트하지 않는 경우 때문에
내가 Operator
사용자 SupportedRoles
에서 Operator
을 제거하지 않을 가능성이 높습니다 자신의 역할이 기본 역할로 변경하고 사용자는 그것을 인식하지 못합니다.
나는 대답을 MVC Model validate Selected Item에서 읽었습니다. Operator
에 대한 RoleId
이 다른 RoleIds의 중간에 있기 때문에 RangeAttribute
이 내 경우에는 작동하지 않습니다. 당신은 당신의 자신의 검증을 구축 할 수 있습니다
A [절대 안전한]을 사용하여 고려 (http://foolproof.codeplex.com/) '[NotEqualTo]'를 비슷한 유효성 검사 속성 (또는 IClientValidatable을 구현하는 독자적으로 작성할 수 있습니다)에 추가하십시오. 또한 사용자가 이미 할당 된 역할을 가지고 있지 않다면'Operator'를 제외시키기 위해'SelectList'를 생성해야합니다. –