2017-02-25 86 views
-1

我有一個表格,這個環節我想補充textbox高達(15)最大dynamically.How來驗證這一點使用data annotation每個textbox和文本框的這個值保存到的點擊有鏈接「添加電話號碼」數據庫?如何將數據註解驗證添加到表單中的動態元素?

我是否需要爲數據庫中的所有文本框保留15個條目?

+0

你應該有一個模型枝條屬性'PhoneNumber' w ^它將Max的數據註釋標記爲15.您將此屬性綁定到動態添加的文本框。您檢索此值並將其傳遞到表單提交中的數據庫。 – Venky

+0

請參閱[這個答案](http://stackoverflow.com/questions/28019793/submit-same-partial-view-called-multiple-times-data-to-controller/28081308#28081308)動態添加元素。並注意第二個最後的代碼片段 - 您需要重新解析驗證器 –

回答

0

型號:

Public class UserInfo 
{ 

//You can have all other form properties here 

[MaxLength(15)] 
[DisplayName("PhoneNumber")] 
public string PhoneNumber {get;set;} 

} 

控制器:

public ActionResult Add(UserInfo model) { 
    If(ModelState.IsValid) { 
     Make a database call and pass model to database. 
    } 
} 

查看:

@model UserInfo 

@{ 
    ViewBag.Title = "Add User"; 
    Layout = "~/Views/Shared/_Layout.cshtml"; 
} 
<form method="post" style="margin: 5% 0 0"> 
    <div class="float-left"> 
    <p>Name</p> 
    <p>Address</p> 
    <p>PhoneNumber</p> 
    </div> 
    <div class="float-right"> 
    <input type="text" style="margin: 1px 0 2px" name="name" value="@Model.Name" /><br /> 
    <input type="text" style="margin: 1px 0 2px" name="address" value="@Model.Address" /><br /> 
    <input type="text" style="margin: 1px 0 2px" name="phonenumber" 
      value="@Model.Address" /> 
    /> 
<br /> 
    <input type="submit" value="Save" /> 
    </div> 
</form> 
+1

我認爲您誤解了如何使用15。它看起來像15不是輸入框的最大長度,而是電話號碼的最大輸入框數量 – SergGr

相關問題