Проверка ASP.NET Datepicker не запускается при вводе строки пробела

У меня странная проблема с проверкой. Мой datepicker не будет запускать проверку, если я введу пробел. Проверка отлично работает с другими недопустимыми входными данными. Кто-нибудь может мне в этом помочь?

Пользовательский вилидатор, о котором я говорю, называется date_validate. Первая настраиваемая проверка в приведенном ниже коде

ctldatetextbox.ascx

<%@ Control Language = "vb" AutoEventWireup = "false" Inherits = "XXX.WebForms.UI.ctlDateTextbox" Codebehind = "ctlDateTextbox.ascx.vb" %>
<%@ Register TagPrefix = "abcv" Namespace = "XXX.WebForms.UI.CustomValidators" Assembly = "XXX.WebForms.UI" %>

<asp:TextBox ID = "txtDate" runat = "server" MaxLength = "11" Columns = "11" CssClass = "datepicker"></asp:TextBox>
<asp:Literal ID = "ltFormatScript" runat = "server" />

<abcv:RequiredPlaceHolderTextboxValidator ID = "reqDate" runat = "server" ControlToValidate = "txtDate" ErrorMessage = "Date is required"
    CssClass = "error" Display = "Dynamic">&nbsp;</abcv:RequiredPlaceHolderTextboxValidator>

<asp:CustomValidator runat = "server" ID = "cvDateTextBox" ControlToValidate = "txtDate" ClientValidationFunction = "date_validate"
    Display = "Dynamic" CssClass = "error" ErrorMessage = "Date is not valid">&nbsp;</asp:CustomValidator>

<asp:CustomValidator ID = "custValidation" ControlToValidate = "txtDate" OnServerValidate = "custValidation_ServerValidate"
    Display = "Dynamic" CssClass = "error" Enabled = "false" runat = "server">&nbsp;</asp:CustomValidator>

core.js

function date_validate(sender, args) {
if (RequiredPlaceHolderTextBoxEvaluateIsValid(sender)) {
    var dtDate = Date.parse(args.Value);
    args.IsValid = (dtDate !== null && dtDate !== 'NaN');
}

}

Спасибо!

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
0
80
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

CustomValidator имеет свойство ValidateEmptyText. Если установлено значение true, Validator запустит проверку пустого текстового поля. И это включает в себя пробел.

<asp:CustomValidator runat = "server" ValidateEmptyText = "true" ID = "cvDateTextBox" 
    ControlToValidate = "txtDate" ClientValidationFunction = "date_validate" Display = "Dynamic"
    CssClass = "error" ErrorMessage = "Date is not valid">&nbsp;</asp:CustomValidator>

Спасибо! ValidateEmptyText решил мою проблему! :)

Julie C. 04.10.2018 17:05

Другие вопросы по теме