Я не могу подтвердить пустое поле ввода с помощью C# asp.net. На самом деле у меня есть два поля ввода. Мне нужно отобразить сообщение проверки для пустого поля ввода. Я сделал некоторую кодировку. Когда я нажимаю кнопку отправки без ввода каких-либо данных, я получаю сообщение об ошибке для первого ввода, зарегистрированного i.e., Name field can not be blank
, и одну красную границу цвета в этом поле ввода. Когда я вводю ввод в первое поле ввода и снова нажав кнопку отправки, появляется сообщение об ошибке для второго поля ввода, но проблема заключается в том, что цвет границы отображается красным в первом поле ввода, которое не должно появляться. Я объясняю свой код ниже.Не удается проверить пустое поле ввода с помощью C# asp.net
index.aspx:
<div class="widget-title">Doctor Registration <span id="validationMessage" runat="server" ></span></div>
<div class="row doctorlist-form">
<div class="col-md-6 bmargindiv1">
<label for="doctorname" accesskey="N"><span class="required">*</span> Name</label>
<div class="col-md-2 padding-zero">
<asp:DropDownList ID="txtdoctorprefix" name="doctorname" runat="server">
<asp:ListItem Value="Dr." Selected="True" Text="Dr."></asp:ListItem>
<asp:ListItem Value="Mr." Text="Mr."></asp:ListItem>
<asp:ListItem Value="Mrs." Text="Mrs."></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-10 padding-zero"><asp:TextBox ID="txtDoctorName" runat="server" oninput="detectName('dName');" ></asp:TextBox></div>
<div class="clearfix"></div>
</div>
<div class="col-md-6 bmargindiv1">
<label for="gender" accesskey="G"><span class="required">*</span> Gender</label>
<asp:DropDownList ID="txtGender" name="grnder" runat="server" onchange="selectGender('gender');">
<asp:ListItem Text="Select your Gender" Selected="True"></asp:ListItem>
<asp:ListItem Text="Male" Value="male" ></asp:ListItem>
<asp:ListItem Text="Female" Value="female"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-12 bmargindiv1">
<asp:Button runat="server" Text="Submit" class="button" ID="doctorDetails" OnClick="doctorDetails_Click" />
</div>
</div>
<script type="text/javascript">
function detectName(nameid) {
var type = nameid;
console.log(type);
switch (type) {
case 'dName':
$('#<%=txtDoctorName.ClientID %>').css('border-color', '#e3e3e3');
$('#<%=validationMessage.ClientID %>').empty();
break;
}
}
function selectGender(type) {
var type = type;
switch (type) {
case 'gender':
$('#<%=txtGender.ClientID %>').css('border-color', '#e3e3e3');
$('#<%=validationMessage.ClientID %>').empty();
break;
}
}
</script>
index.aspx.cs:
protected void doctorDetails_Click(object sender, EventArgs e)
{
// Response.Write(txtDoctorName.Text.Trim().Length);
if (txtDoctorName.Text.Trim().Length == 0)
{
validationMessage.InnerText = "Name field can not be blank.";
validationMessage.Style.Add("color", "red");
txtDoctorName.Focus();
txtDoctorName.BorderColor = System.Drawing.Color.Red;
return;
}
if (txtGender.SelectedIndex==0)
{
validationMessage.InnerText = "Gender field can not be blank.";
validationMessage.Style.Add("color", "red");
txtGender.Focus();
txtGender.BorderColor = System.Drawing.Color.Red;
return;
}
}
Моя проблема в том, когда общее поле пустым, и я, нажав на подать кнопка появляется сообщение об ошибке, но в то же время, когда я вношу некоторый вклад в одно текстовое поле a и снова нажав кнопку отправки, оператор 1-го раза также выполняет вместе со вторым оператором if, который не должен происходить. В этом случае должен выполняться только второй оператор if. Пожалуйста, помогите мне решить эту проблему.
Вы использовали отладчик для перехода через событие 'doctorDetails_Click'? также вы подумали об использовании 'IsNullOrEmpty' для проверки ввода поля txtDoctorName.Text – MethodMan
@ MethodMan: я также тестировал с помощью' IsNullOrEmpty', но также была проблема. – satya