J'ai un problème de validation d'erreur avec un int.Validation d'erreur ASP.Net MVC
Je validation pour un nom de client:
if (String.IsNullOrEmpty(CustomerName))
yield return new RuleViolation("Customer Name Required", "CustomerName");
maintenant si je veux ajouter la validation d'une ville, dans ce cas, j'ai un CityID qui obtient enregistré en tant que type int, donc je ne peux pas écrire mon instruction if de la même manière ... car il n'y a pas de méthode int.IsNullOrEmpty. Disons que l'utilisateur n'a pas sélectionné la liste déroulante pour la ville - il s'agit essentiellement d'économiser sans valeur.
Quelle est la meilleure façon d'écrire ma déclaration de validation pour un int?
MISE À JOUR: Voici un exemple de ce que j'ai pour ma forme à mon avis:
<% using (Html.BeginForm())
{%>
<fieldset>
<legend>Add a new customer</legend>
<p>
<label for="CustomerName">Customer Name:</label>
<%= Html.TextBox("CustomerName")%>
<%= Html.ValidationMessage("CustomerName", "*")%>
<label for="CityID">City:</label>
<%= Html.DropDownList("CityID", Model.Cities as SelectList, "Select City")%>
<%= Html.ValidationMessage("CityID", "*")%>
<input type="submit" value="Create New Customer" />
</p>
</fieldset>
<% } %>
et mon modèle de vue ressemble à ceci:
public class CustomerFormViewModel
{
//Properties
public Customer Customer { get; set; }
public SelectList Cities { get; set; }
//Constructor
public CustomerFormViewModel(Customer customer)
{
CustomerRepository customerRepository = new CustomerRepository();
Customer = customer;
Cities = new SelectList(customerRepository.FindAllCities(), "CityID", "CityName");
}
}
J'apprécie votre aide, même si je ne comprends pas très bien comment donner "Please Select", sa valeur par défaut est -1. Je suis en mesure de l'obtenir pour dire "S'il vous plaît sélectionner", mais je ne sais pas où spécifier quelle est sa valeur. J'ai mis à jour ma question avec le code qui est à mon avis pour montrer ce que j'ai actuellement. – Ben
Lorsque vous créez une liste déroulante, elle aura le texte et la valeur. J'affecte toujours Value comme -1 et Text comme "Please Select". Lorsqu'un formulaire est soumis, la valeur affichée contiendra "-1" comme CityID dans votre exemple. –