0
我有两个问题在这里也可以javascript验证和ASP.NET验证器同时工作
我同时使用JavaScript验证和ASP.NET验证器,但.NET验证没有完全工作,它显示的验证消息但是当我点击提交表单获取aspx文件在CS文件提交
另一个是,在JavaScript验证电子邮件验证不工作,我已经写了电子邮件验证功能和休息JavaScript验证
在电子邮件验证当我使用它的getElementById深藏不露但是当我使用它getElementByName显示验证消息,即使电邮是正确的它显示验证消息和形式获取ASPX提交过
电子邮件验证功能的文件 -
<script type="text/javascript">
function checkEmail() {
var email = document.getElementsByName('txtremail');
var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
if (!filter.test(email.value))
{
alert('Please provide a valid email address');
email.focus;
return false;
}
else {
return true;
}
}
提交按钮 -
<asp:ImageButton ID="submitbtn" runat="server"
ImageUrl="~/images/joinnow.jpg" CssClass="joinbtn"
ValidationGroup="join" onclick="submitbtn_Click" OnClientClick="return checkEmail()"/>
和CS文件我已经if条件,使用,因为它的,我认为形式获得,如果邮件是无效提交甚至
CS文件代码 -
public bool chkpass(string pass, string conpass)
{
if (pass.Equals(conpass))
{
return true;
}
return false;
}
protected void submitbtn_Click(object sender, ImageClickEventArgs e)
{
if (txtruname.Text != "" && txtrfname.Text != "" && txtrpass.Text != "" && txtremail.Text != "" && txtrdesc.Text != "")
{
if (!chkpass(txtrpass.Text, txtrcnpass.Text))
{
Page.ClientScript.RegisterStartupScript(GetType(), "", "alert('password does not match');", true);
}
else
{
dl.req_username = txtruname.Text;
DataTable dt = new DataTable();
dt = bl.reqruiter_uname(dl);
if (dt.Rows.Count > 0)
{
lblwarning.Text = "username exists";
}
else
{
dl.req_fullname = txtrfname.Text;
dl.req_username = txtruname.Text;
dl.req_password = txtrpass.Text;
dl.req_email = txtremail.Text;
dl.req_description = txtrdesc.Text;
bl.reqruiter_registration(dl);
}
}
}
else
{
Page.ClientScript.RegisterStartupScript(GetType(), "", "alert('please fill all info');", true);
}
所以,我应该怎么做才能让形式电子邮件错误时不提交? 如果可能我怎么能在cs文件中写电子邮件验证,所以它可以满足如果条件提交点击,谢谢