我在文本框上有一个文本框,我正在使用必需的字段验证。 如果文本框是空的,那么我想在文本框中显示“请输入一些文本”,如果有东西在文本框中,那么我想检查文本框文本是否有效的电子邮件ID或不,如果不是那么我想显示文本框里面的“请输入有效的电子邮件ID”如何在相关文本框中显示必填字段验证程序错误消息?
回答
您可以使用jQuery执行以下操作:
<script type="text/javascript">
function CheckEmail()
{
var $email = $("#<%=EmailText.ClientID %>");
if ($email.val().length) {
if (!IsEmailValid($email.val()))
$email.val("Please enter a valid email address");
}
else {
$email.val("Please enter some text.");
}
}
function IsEmailValid(inputvalue)
{
var pattern=/^([a-zA-Z0-9_.-])[email protected]([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
if(pattern.test(inputvalue)) {
return true;
}
else {
return false;
}
}
</script>
<asp:TextBox ID="EmailText" Text="Please enter some text" runat="server" />
<asp:Button ID="SubmitButton" runat="server" OnClientClick="CheckEmail()" />
或者您可以使用开箱即用的RequiredFieldValidator和RegularExpressionValidator进行.NET验证。
编辑
由于海报已表示客户端脚本不能用于验证,我已经添加了服务器端验证:
protected void SubmitButton_Click(object sender, EventArgs e)
{
if (IsFormValid())
{
//Do something...
}
}
private bool IsFormValid()
{
bool isValid = true;
if (String.IsNullOrEmpty(EmailText.Text))
{
EmailText.Text = "Please enter an email address";
isValid = false;
}
else
{
if (!Regex.IsMatch(EmailAddress.Text, @"/^([a-zA-Z0-9_.-])[email protected]([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/"))
{
EmailText.Text = "Email address not valid";
isValid = false;
}
}
return isValid;
}
您可以使用一个占位符
<input type="text" placeholder="Please enter some text">
我相信你确实需要一个jQuery插件在Internet Explorer中工作。
但我不明白为什么它应更改为“请输入有效的电子邮件ID”
你可以把它说“请输入有效电子邮件ID”在一开始,并添加一个验证脚本,以便人们可以输入无效的电子邮件。
function validateForm()
{
var x=document.forms["MyForm"]["email"].value;
var atpos=x.indexOf("@");
var dotpos=x.lastIndexOf(".");
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length)
{
alert("Not a valid email id");
return false;
}
}
可以使用reqiredfieldvalidator检查,如果文本框为空或不
<asp:RequiredFieldValidator ID="RequiredFieldValidator" runat="server" ControlToValidate="yourTextBox" Text="This field is required" />
,并检查电子邮件验证您可以使用的RegularExpressionValidator验证电子邮件的输入
<asp:RegularExpressionValidator runat="server" ID="emailValidator" ControlToValidate="emailTextBox" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" Text="please enter a valid email address" />
这是我要显示在文本框中的不需要使用java脚本和jquery和c#的必需字段验证者文本。 – NJadon 2012-03-29 13:14:48
请使用此示例:
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" ControlToValidate="TextBox1" runat="server" ErrorMessage="Please enter some text"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" ControlToValidate="TextBox1"
ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"
runat="server" ErrorMessage="Please enter valid emailid"></asp:RegularExpressionValidator>
RequiredFieldValidator验证空文本框,然后RegularExpressionValidator匹配ValidationExpression,在这种情况下它是emailid。
嘿家伙请再读一遍我的问题问题是,这需要现场错误信息我想显示里面的文本框 – NJadon 2012-03-29 13:18:21
里面的文本boxt?我不确定你可以使用RequiredFieldValidator控件,可能在下面(@sbhomra)答案对此很有用;在给定的JavaScript代码尝试在文本框中分配您的错误消息。 – 2012-03-29 13:26:35
空文本验证使用RequiredFieldValidator的默认功能:
<asp:RequiredFieldValidator runat="server" ID="requiredValidatorId" ControlToValidate="textBoxId" ErrorMessage="Please enter some text" />
而对于输入格式或域验证使用服务器端的逻辑是这样的:
if (!IsValidEmail(email))
{
zoneRequiredValidatorId.Text = "Please enter valid email id";
zoneRequiredValidatorId.IsValid = false;
}
else
if (...)
{
zoneRequiredValidatorId.Text = "Validation error X";
zoneRequiredValidatorId.IsValid = false;
}
...
请注意,我们在这里设置IsValid属性假。
- 1. 必填字段验证始终显示错误消息
- 2. 必填字段验证jquery显示错误消息
- 3. jQuery验证 - 在文本字段中显示错误消息
- 4. jQuery验证 - 在提示显示字段错误加上“请填写必填字段”消息
- 5. 文本框的必填字段验证程序
- 6. JQuery验证 - 在错误消息中显示字段名称
- 7. 如何在验证PHP表单的下拉菜单中显示“*必填字段”错误消息?
- 8. 验证字段,验证相关模型以及顺序或错误消息
- 9. ASP.NET MVC jQuery验证:如何显示所有必填字段的一条消息
- 10. 表单上必填字段显示错误消息
- 11. codeigniter验证错误与字段“必填”
- 12. CakePhp 3.5验证错误消息不显示在字段上
- 13. 在Grails中,如何在字段旁边显示验证错误消息?
- 14. 必填字段没有验证我在asp.net中的文本框
- 15. 验证错误消息未正确显示相关输入
- 16. 必填字段验证程序在下拉列表中发回消息
- 17. 必填字段验证程序asp.net
- 18. Javascript和必填字段验证程序
- 19. 隔离必填字段验证程序?
- 20. C#Asp.net必填字段验证程序
- 21. 由必填字段验证程序的SharePoint沙盒webpart错误
- 22. 在多个字段验证失败时显示相应的错误消息
- 23. 显示Hidden字段的验证消息
- 24. 为什么验证错误消息字段没有显示
- 25. 在相关文本框中显示所需的自定义验证器错误消息
- 26. 如何在formtastic窗体上显示字段验证错误消息:remote => true?
- 27. dojo验证文本框错误显示
- 28. 错误消息不显示回形针验证错误消息
- 29. jQuery验证不显示错误消息
- 30. 验证错误消息不显示MVC4
一个条件是在这里,我们不能使用java脚本,jquery,C#也。这是一个面试问题..............如果可能,然后指导我,如果没有,然后告诉原因.......... – NJadon 2012-03-29 13:08:09
@ user1300780你不能使用JavaScript在一个web项目??这是疯狂。 – jrummell 2012-03-29 13:09:42
如果Java脚本被禁用,则应用程序将无法正常工作。 – NJadon 2012-03-30 06:46:00