입력 된 로그인 전자 메일 주소 (사용자 이름)가 데이터베이스에 이미있는 경우 사용자가 데이터베이스의 정보를 저장할 수 없도록 사용자 지정 유효성 검사를 작성했습니다. 우리는 저장 버튼을 클릭하면 CS 파일사용자 지정 유효성 검사가 제대로 작동하지 않습니다.
protected void ValidateUserName(object sender, ServerValidateEventArgs e)
{
SystemUserBL bl = new SystemUserBL(SessionContext.SystemUser);
ds = new DataSet();
bl.FetchForLoginEmailAddress(ds, txtLoginEmailAddress.Text);
if (ds.Tables[0].Rows.Count > 0)
{
e.IsValid = false;
valDuplicatePassword.Visible = true;
valDuplicatePassword.Text = "<b>This User Name is already in use by another user.</b>";
btnSave.Enabled = false;
btnSaveclose.Enabled = false;
}
else
{
e.IsValid = true;
btnSave.Enabled = true;
btnSaveclose.Enabled = true;
valDuplicatePassword.Visible = true;
valDuplicatePassword.Text = "<b>Congratulations! " + txtLoginEmailAddress.Text + " is available.</b>";
}
}
protected void btnSave_Click(object sender, EventArgs e)
{
try
{
if (save())
{
SucessMessage();
}
}
catch (Exception ee)
{
ErrorMessage(ee.Message);
}
}
에서
<div class="span3">
<asp:TextBox ID="txtLoginEmailAddress" class="SearchTxtBox" runat="server" Text='<%# ds.Tables[0].Rows[0]["LoginEmailAddress"] %>'
MaxLength="50"> </asp:TextBox>
</div>
<div class="span6">
<asp:RequiredFieldValidator ID="valLoginEmailAddressRequired" runat="server" CssClass="Validator"
ValidationGroup="save" Display="Dynamic" ControlToValidate="txtLoginEmailAddress"
ErrorMessage="<b>User Name is required</b>"></asp:RequiredFieldValidator>
<asp:CustomValidator ID="CheckAvailablity" runat="server" ValidationGroup="save" ControlToValidate="txtLoginEmailAddress"
OnServerValidate="ValidateUserName"></asp:CustomValidator>
<asp:Label ID="valDuplicatePassword" runat="server" style="color:red" Visible="False"></asp:Label></td>
</div>
<asp:Button ID="btnSave" runat="server" Text="Save" CssClass="btn btn-small " OnClick="btnSave_Click"
ValidationGroup="save" />
지금은 데이터베이스에 저장 한 후 확인 메시지가 표시됩니다. 데이터베이스에 저장해서는 안되며 사용자 정의 유효성 검사는 다른 ASP.NET의 유효성 검사와 같이 작동해야합니다. 도와주세요 !!!
어떻게 자료를 데이터베이스에 저장합니까? btnSave_Click 내에서 일어나는 것입니까? – Andrei
아니요 ... btnsave 클릭 기능에 저장 기능 만 있습니다. – Nida
관련 코드를 게시하십시오. – Andrei