2009-07-31 9 views
1

je suis en utilisant l'échantillon asp.net application mvc et je veux ajouter une validation spécifique sur certaines zones de texteasp.net-mvc validation textbox

tels que:

  • Pas d'espace
  • Min/Taille maximale

Comment est-ce que je ferais cela?

Répondre

6

Un exemple:

Controller:

[AcceptVerbs(HttpVerbs.Post)] 
public ActionResult Index(Company company) 
{ 
    //validate and save data 
    if (ValidateCompanyData(company)) 
    { 
     _service.SaveCompanyData(CustomerId, company); 
     ViewData["info"] = "Your changes have been saved."; 
    } 

    var companyViewData = GenerateCompanyViewData(company); 

    return View("Index", companyViewData); 
} 


[NonAction] 
public bool ValidateCompanyData(Company company) 
{ 
    if (!company.VAT.HasValue()) 
    { 
     ModelState.AddModelError("VAT", "'Vat' is a required field."); 
    } 
    if (!company.CompanyName.HasValue()) 
    { 
     ModelState.AddModelError("CompanyName", "'Name' is a required field."); 
    } 

    return ModelState.IsValid; 
} 

Vue:

Html.ValidationMessage("VAT") 

Pour accéder au errormessage.

Si vous vous demandez: .HasValue() est une méthode d'extension qui est le même que String.IsNullOrEmpty()

!