Валидатор регулярных выражений с выражениемJavascript

Форум по Javascript
Ответить
Anonymous
 Валидатор регулярных выражений с выражением

Сообщение Anonymous »

Я пытаюсь проверить введенные данные на основе предыдущего выбора с помощью SurveyJS. Ввод в последнем разделе «Продолжительность» должен зависеть от предыдущего выбора «Дни», «Месяцы» или «Годы».
Если я оставлю при проверке только условие, оно работает нормально, но когда я добавляю более одного условия, оно пытается проверить все три независимо от условия выражения.
Ниже JSON можно использовать в Survey JS codepen или codeandbox:

Код: Выделить всё

 {
"pages": [
{
"name": "page1",
"elements": [
{
"type": "radiogroup",
"name": "Gym",
"title": "Do you go to GYM",
"isRequired": true,
"choices": [ "Yes", "No" ]
},
{
"type": "radiogroup",
"name": "GymDur",
"visibleIf": "{Gym} = 'Yes'",
"title": "How long have you been going to GYM",
"resetValueIf": "{Gym} = 'No'",
"isRequired": true,
"choices": [ "Days", "Months", "Years" ]
},
{
"name": "GymDura",
"type": "text",
"title": "Enter Duration",
"inputType": "number",
validators: [
{
type: "regex",
regex: "^(?:[0-9]|[1-2][0-9])$",
text: "Value should be less than 29.99",
expression: "{GymDur} = 'Days'",
},
{
type: "regex",
regex: "^(?:[0-9]|1[01])$",
text: "Value should be less than 11.99",
expression: "{GymDur} ='Months'",
},
{
type: "regex",
regex: "^(?:d{1,2})(?:.d{1,2})?$",
text: "Value should be less than 99.99",
expression: "{GymDur} ='Years'",
},
],
},
],
}
],
}
Можно ли каким-либо образом заставить валидаторы работать только на основе входных данных одного выражения (дни, месяцы и годы), и если я изменю значение, если входные данные (дни на месяцы или год), данные и ошибка проверки в поле Enter Duration должны автоматически сброситься. Ниже приведен тот же скриншот.
Изображение



Подробнее здесь: https://stackoverflow.com/questions/798 ... expression
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»