Q
一在驗證
2
A
回答
3
您可以使用this library,它會幫你做這樣的事情
[RequiredIf("PropertyValidationDependsOn", true)]
public string PropertyToValidate { get; set; }
2
所有複雜的驗證與您的視圖模型從繼承IValidatableObject開始。然後,您覆蓋驗證並放入您自己的驗證規則。
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
if (String.IsNullOrWhiteSpace(FirstName) && String.IsNullOrWhiteSpace(LastName))
{
yield return new ValidationResult("A name must be entered.", new string[] { "FirstName", "LastName" });
}
}
請注意,這隻能確保服務器端驗證此規則。如果你想要它的客戶端,你需要編寫自己的JavaScript/jQuery代碼來處理驗證。
+0
這個標記的字段無效的方式與正常的驗證屬性一樣嗎? – raklos 2013-04-15 17:00:10
+0
是的。 'new string [] {「FirstName」,「LastName」}'參數告訴調用代碼哪個字段驗證失敗。 – 2013-04-15 17:06:54
2
如果你願意做這個客戶端 這可能會給你一個開始
HTML
<input type="text" class="name" id="firstName" />
<input type="text" class="name" id="lastName" />
<input type="button" id="btnSubmit" value="submit" />
按鈕單擊事件
$("#btnSubmit").click(function() {
var isValid = false;
$("input[class='name']").each(function (key, keyValue) {
//alert(keyValue.value);
if (keyValue.value.length > 0) {
isValid = true;
$(this).css("background", "White");
}
else {
$(this).css("background", "RED");
}
})
if (!isValid) {
// do something
}
});
爲了防止表單提交,如果不通過驗證
$('input[type=submit]').bind('click', function(e) {
var isValid = false;
$("input[class='name']").each(function (key, keyValue) {
//alert(keyValue.value);
if (keyValue.value.length > 0) {
isValid = true;
$(this).css("background", "White");
}
else {
$(this).css("background", "RED");
}
})
if (!isValid) {
e.preventDefault() // prevents the form from being submitted
}
});
相關問題
- 1. 驗證在另一
- 2. 驗證唯一
- 3. 驗證在Hibernate驗證
- 4. 正在驗證驗證碼
- 5. jQuery驗證只驗證一個字段
- 6. Aurelia驗證 - 可以逐一驗證?
- 7. Bean驗證驗證一個驗證是否有效?
- 8. Laravel驗證:僅在另一個驗證字段時驗證字段
- 9. 驗證在第一次驗證時卡住
- 10. Jquery驗證:在另一種方法內調用驗證方法
- 11. 在表單驗證失敗時僅輸入一次驗證碼?
- 12. 驗證一個javax.ejb.ScheduleExpression
- 13. 驗證一個FQDN
- 14. JPA驗證唯一
- 15. XSD唯一驗證
- 16. 驗證一步一步
- 17. 驗證驗證碼
- 18. 驗證時驗證
- 19. 驗證碼驗證
- 20. Jquery驗證 - 在急切驗證期間顯示驗證摘要?
- 21. 流暢驗證非空驗證與客戶端驗證在MVC
- 22. 驗證碼顯示在後,驗證碼驗證
- 23. jquery驗證引擎:驗證一個接一個
- 24. jquery驗證,一步一步驗證點擊功能
- 25. jQuery驗證和Tooltipter一次顯示一個驗證消息
- 26. 2個驗證器一次驗證一個
- 27. 如何使一個ASP.Net驗證依賴於另一個驗證
- 28. 驗證與jQuery驗證一組中的一組
- 29. ServiceStack使用驗證碼驗證驗證
- 30. 驗證在ASP.NET MVC 4 - 驗證
上測試它可以在沒有庫的情況下完成嗎? – raklos 2013-04-10 17:10:34
它可以是如果你寫自己的驗證屬性,這是相對簡單的。像上面這樣的東西,或者FoolProof Validation http://foolproof.codeplex.com/或Fluent Validation http://fluentvalidation.codeplex.com/都可以滿足這個需求。 – 2013-04-10 17:15:09