2014-01-15 31 views
0

我需要創建一個驗證器,其中至少要填寫FirstName或LastName。MVC客戶端驗證:必須填寫兩個文本框中的至少一個

public class Person 
{ 

    public string FirstName { get; set; } 

    public string LastName { get; set; } 

} 

我希望用戶至少提供名字或姓氏。提供兩者不應該是一個概率。 這是目前我有什麼看法時

@Html.ValidationSummary(true) 
@using(Html.BeginForm("AddPerson","Person",FormMethod.Post)) 
{ 

    <div class="label">First Name</div> 
    <div class="input-block-level">@Html.TextBoxFor(m=>m.FirstName)</div> 
    <br/> 
    <div class="label">Last Name</div> 
    <div class="input-block-level">@Html.TextBoxFor(m=>m.LastName)</div> 

    <button type="submit" class="btn-primary">Submit</button> 
} 

我應該怎麼做,以驗證在客戶端的形式,所以只要至少有一個文本框不填充那個錯誤被拋出?

+1

你可以編寫JavaScript函數來檢查 – Nilesh

+2

檢查該解決方案 http://stackoverflow.com/questions/7247748/mvc3-validation-require-one-from-group#answer -7248203 –

回答

1

試試這個

<input type="submit" value="Submit" class="btn-primary" onclick="javascript: return checkform()" > 

function checkform() 
{ 
var fname= $('#FirstName').val(); 
var lname= $('#LastName').val(); 
if(fname=="" && lname=="") 
    { 
    alert("Enter either first name or last name") ; 
    return false; 
    } 
} 
+0

我想要自定義驗證。但是如果我找不到解決方案,我會用這個。直到那麼我會把它投票。 – Cybercop

+0

不起作用,我提交了空的名字和姓氏的形式,它仍然被轉發到控制器的post方法 – Cybercop

+0

你檢查'fname'和'lname'的值 – Nilesh

相關問題