Как обрезать строку в ClientValidationFunction - PullRequest
0 голосов
/ 05 декабря 2008

Я пишу функцию проверки на стороне клиента для CustomValidator , и мне нужно проверить длину введенной строки. Но прежде, чтобы немного противодействовать мошенникам, я хочу удалить из строки все начальные и конечные пробелы. Какой самый простой способ сделать это в этом сценарии?

Спасибо!

Ответы [ 3 ]

4 голосов
/ 05 декабря 2008

Самый простой способ - вызвать функцию ValidatorTrim (значение) на вашей странице. Эта функция взята из javascript, который каждый валидатор asp.net включает при добавлении на страницу.

Но я не думаю, что это документированная функция, поэтому вы не можете полагаться на ее доступность в будущих версиях валидаторов. Так что я хотел бы пройтись через jQuery или добавить свою собственную функцию, как отмечает Дж. Купер.

2 голосов
/ 05 декабря 2008

Простите за глупость, но вы просто ищете функцию trim в Javascript? Если так, вот что использует jQuery:

function trim( text ) {
    return (text || "").replace( /^\s+|\s+$/g, "" );
}
0 голосов
/ 05 декабря 2008

Должен сказать, что вопрос, который я задал, может быть легко найден, и я уже исследовал его. Но я хочу предложить сообществу StackOverflow решение, которое является самым простым, если вы пишете функцию проверки клиента для страницы ASP.NET.

Известно, что RequiredFieldValidator также обрезает пробелы строки, подлежащей проверке. Если вы посмотрите на источник файла ScriptResource.axd, связанного с вашим приложением, вы можете найти этот

function RequiredFieldValidatorEvaluateIsValid(val) {
    return (ValidatorTrim(ValidatorGetValue(val.controltovalidate)) != 
        ValidatorTrim(val.initialvalue))
}

и еще интереснее это

function ValidatorTrim(s) {
    var m = s.match(/^\s*(\S+(\s+\S+)*)\s*$/);
    return (m == null) ? "" : m[1];
}

фрагменты кода.

Итак, вам не следует переписывать функцию обрезки с нуля, она у вас уже есть и вы можете ее использовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...