모든 속성에서 Required 특성이있는 전자 메일, 암호, ConfirmPassword 속성을 가진 사용자를 추가하기위한 ViewModel이 있습니다. 사용자를 편집 할 때 암호 및 ConfirmPassword 속성이 필요하지 않도록하고 싶습니다.특정 필드에서 유효성 검사 사용 안 함
다른 컨트롤러 동작에서 특정 속성에 대한 유효성을 비활성화하는 방법이 있습니까, 아니면 별도의 EditViewModel을 만드는 것이 가장 좋습니까?
모든 속성에서 Required 특성이있는 전자 메일, 암호, ConfirmPassword 속성을 가진 사용자를 추가하기위한 ViewModel이 있습니다. 사용자를 편집 할 때 암호 및 ConfirmPassword 속성이 필요하지 않도록하고 싶습니다.특정 필드에서 유효성 검사 사용 안 함
다른 컨트롤러 동작에서 특정 속성에 대한 유효성을 비활성화하는 방법이 있습니까, 아니면 별도의 EditViewModel을 만드는 것이 가장 좋습니까?
나는 아래로 휴식과 각보기에 대한 모든 일반적인 데이터와 inhierit와 기본 모델을 좋아 :
뿐만 아니라 더 좋은 방법이 있다면이 방법은 매우 깨끗 보이지만 알고 관심class UserBaseModel
{
int ID { get; set; }
[Required]
string Name { get; set; }
[Required]
string Email { get; set; }
// etc...
}
class UserNewModel : UserBaseModel
{
[Required]
string Password { get; set; }
[Required]
string ConfirmPassword { get; set; }
}
class UserEditModel : UserBaseModel
{
string Password { get; set; }
string ConfirmPassword { get; set; }
}
유연한.
조건을 테스트하고 빈 필드를 허용하거나 허용하지 않을 수있는 사용자 지정 특성을 작성할 수 있습니다.
다음은 여기에있는 사람들을위한 간단한 데모입니다. 용도에 맞게 수정해야합니다./
using System.ComponentModel.DataAnnotations;
namespace CustomAttributes
{
[System.AttributeUsage(System.AttributeTargets.Property)]
public class MinimumLength : ValidationAttribute
{
public int Length { get; set; }
public MinimumLength()
{
}
public override bool IsValid(object obj)
{
string value = (string)obj;
if (string.IsNullOrEmpty(value)) return false;
if (value.Length < this.Length)
return false;
else
return true;
}
}
}
모델;
using CustomAttributes;
namespace Models
{
public class Application
{
[MinimumLength(Length=20)]
public string name { get; set; }
}
}
컨트롤러
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Index(Application b)
{
ViewData["Message"] = "Welcome to ASP.NET MVC!";
if (ModelState.IsValid)
{
return RedirectToAction("MyOtherAction");
}
return View(b);
}
enter code here
문제는 내가 필드가 하나의 컨트롤러 액션에서 요구 될 수 있지만 다른 컨트롤러 액션에서 사용자 지정을위한 방법이 알고 속성이 될 수 원하는 어떤 행동을 현재 있니? – adriaanp
예, 지금 당장 생각할 수 없으므로 Google에 맡겨야합니다. 이것은 당신을 도울 수 있습니다. http://stackoverflow.com/questions/1212429/get-controllername-and-actionname-and-populate-the-viewdata-in-master-page – griegs