我正在创建一个发票应用程序,在用户可以输入行项目的部分中,某些字段将包括:数量、价格、扩展价格、说明等。
如果用户在任何字段中输入内容,则相应字段是必需的,但如果没有在任何字段中输入任何数据,则相应字段中不需要任何内容。在不执行一堆 if 语句的情况下执行此操作的有效且干净的方法是什么?
我想这就像只有一个文本框有文本时进行验证。
最佳答案
您可以在 CustomValidator 的 ServerValidate 事件中尝试类似的操作。
// test for all textboxes having some text in them...
e.IsValid = (from TextBox c in this.Controls
where c is TextBox
select c).All(tb => !string.IsNullOrEmpty(tb.Text));
这可能需要一些修改才能正确 - 但你明白了。进行相应更改以测试所有文本框是否为空白。
您还可以在 CustomValidator 中使用 jQuery 进行客户端验证
function clientValidate(sender, e) {
// get array of textboxes with a common css class
var textBoxes = $("#SomeCssSelector input").val();
// loop here to test for having text or no text.
e.IsValid = ... ;
}
关于c# - 如何检查 ASP.NET 页面中是否没有或所有文本框都输入了文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/940755/