09/10/2014

Custom valid MVC C# field

 Trong MVC, ngoài những ValidationAttribute có sẵn như Required, Display ..

Đôi khi bạn cần gọi hàm check riêng của bạn cho 1 field name nào đó

ví dụ class:

public class AccountDTO

{

/// <summary>

/// Tên đăng nhập

/// </summary>

[Required(ErrorMessage = "Nhập tên đăng nhập")]

[Display(Name = "Tên đăng nhập")]

[CheckUsernameAvailable]

public string Username { get; set; }

//những field khác ....

}

Hãy lưu ý: CheckUsernameAvailable 

cần kiểm tra username có ai sử dụng hay chưa

Ta có class tương ứng


public class CheckUsernameAvailable : ValidationAttribute

{

public CheckUsernameAvailable()

: base("")

{

}


protected override ValidationResult IsValid(object value, ValidationContext validationContext)

{

if (value != null)

{

//parse object qua string

string userName = Convert.ToString(value);

//thực hiện query database

//DAO execute here

var result = checkUsernameAvailable(userName);

if (!result)

{

//khai báo errorMsg

errorMsg = string.Format("Tên đăng nhập {0} đã có người sử dụng", userName);

return new ValidationResult(errorMsg);

}

}

return ValidationResult.Success;

}
}

Đăng ký tên miền, hosting, máy chủ, thiết kế lập trình website theo yêu cầu

 Chính thức trở thành đơn vị cung cấp dịch vụ đăng ký tên miền quốc tế, tên miền Việt Nam hosting, máy chủ, cloud hosting, cloud server, ema...