Regex-Validator mit AusdruckJavaScript

Javascript-Forum
Anonymous
 Regex-Validator mit Ausdruck

Post by Anonymous »

Ich versuche, die Eingabe basierend auf der vorherigen Auswahl mithilfe von SurveyJS zu validieren. Die Eingabe im letzten Abschnitt von „Dauer“ sollte von der vorherigen Auswahl von Tagen, Monaten oder Jahren abhängen.
Wenn ich bei der Validierung nur die Bedingung behalte, funktioniert es einwandfrei, aber wenn ich mehr als eine Bedingung hinzufüge, versucht es, unabhängig von der Ausdrucksbedingung alle drei zu validieren.
Unten kann JSON in Survey JS Codepen oder Codesandbox verwendet werden:

Code: Select all

{
"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'",
},
],
},
],
}
],
}
Gibt es eine Möglichkeit, dass Validatoren nur auf der Grundlage der einzelnen Ausdruckseingaben (Tage, Monate und Jahre) arbeiten und wenn ich den Eingabewert (Tage in Monate oder Jahr) ändere, sollten der Daten- und Validierungsfehler in „Dauer eingeben“ automatisch zurückgesetzt werden. Unten ist der Screenshot dafür.
Image

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post