我有一個int錯誤驗證問題。ASP.Net MVC錯誤驗證
我已經驗證了客戶名稱:
if (String.IsNullOrEmpty(CustomerName))
yield return new RuleViolation("Customer Name Required", "CustomerName");
現在如果我想添加驗證一個城市,在這種情況下,我有被保存爲int類型一CityID
,所以我不能寫我的if語句以同樣的方式...因爲沒有int.IsNullOrEmpty方法。假設用戶沒有選擇城市的下拉菜單 - 基本上沒有價值的節省。
什麼是最好的方式來編寫我的int驗證語句?
更新:這是什麼,我有我的,我認爲形式的樣本:
<% 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>
<% } %>
和我的視圖模型是這樣的:
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");
}
}
我很感謝您的幫助,雖然我不太瞭解如何給「請選擇」它的默認值爲-1。我可以讓它說「請選擇」,但我不知道在哪裏指定它的價值。我用我視圖中的代碼更新了我的問題,以顯示我目前擁有的代碼。 – Ben 2009-12-22 02:20:29
當您創建下拉菜單時,它將具有文本和值。我始終將「值」指定爲-1,將文本指定爲「請選擇」。提交表單時,發佈的值將在您的示例中包含「-1」作爲CityID。 – 2009-12-22 16:14:24