Ένας τρόπος για να διασφαλίσετε την ποιότητα δεδομένων είναι η προσθήκη περιορισμών στα πεδία δεδομένων της φόρμας σας. Οι περιορισμοί βοηθούν στην αποτροπή εισαγωγής μη έγκυρων ή αδύνατων απαντήσεων. Για παράδειγμα, κατά την ερώτηση για το εισόδημα ενός ατόμου, θέλετε να αποφύγετε μη ρεαλιστικές τιμές, όπως αρνητικοί αριθμοί ή υπερβολικά υψηλές τιμές. Η προσθήκη περιορισμών δεδομένων στη φόρμα σας είναι εύκολη. Απλώς ακολουθήστε τα παρακάτω βήματα:

  1. Προσθέστε μια νέα στήλη με όνομα “constraint” στη φόρμα σας.
  2. Στη στήλη “constraint”, εισαγάγετε έναν τύπο που καθορίζει τα όρια στην απάντηση.

Παράδειγμα

Εξετάστε ένα παράδειγμα όπου θέλουμε να προσθέσουμε περιορισμό για το εισόδημα ενός ατόμου. Ο περιορισμός απαιτεί το εισόδημα να είναι μεταξύ $0 και $1.000.000. Δείτε πώς μπορείτε να ρυθμίσετε τον περιορισμό:

nameconstraint
Income. >= 0 & . <= 1000000

Στο παραπάνω παράδειγμα, το “.” στον τύπο αναφέρεται στη μεταβλητή ερώτησης, η οποία αντιπροσωπεύει την τιμή που εισήγαγε ο χρήστης. Ο περιορισμός “. >= 0 && . <= 1000000” διασφαλίζει ότι το εισαγόμενο εισόδημα είναι μεγαλύτερο ή ίσο από 0 και μικρότερο ή ίσο από 1.000.000.

Σκληρός περιορισμός

Ένας σκληρός περιορισμός μπλοκάρει εντελώς την υποβολή φόρμας εάν η εισαγόμενη τιμή δεν ικανοποιεί την έκφραση. Ο απογραφέας δεν μπορεί να προχωρήσει μέχρι να εισάγει έγκυρη τιμή.

Για να προσθέσετε σκληρό περιορισμό, εισαγάγετε την έκφρασή σας στη στήλη constraint. Προαιρετικά προσθέστε αναγνώσιμο μήνυμα στο constraint_message:

typenamelabelconstraintconstraint_message
integerageΗλικία ερωτώμενου. > 0 and . <= 120Η ηλικία πρέπει να είναι μεταξύ 1 και 120
decimaltemperatureΘερμοκρασία σώματος (°C). >= 35 and . <= 42Η θερμοκρασία πρέπει να είναι μεταξύ 35°C και 42°C
textphoneΑριθμός τηλεφώνουregex(., '^[0-9]{10}$')Εισαγάγετε αριθμό τηλεφώνου 10 ψηφίων

Πολλαπλές συνθήκες

Συνδυάστε συνθήκες με and / or:

  . >= 0 and . <= 100
  
  . = 'yes' or . = 'no'
  

Χρήση regex() για επικύρωση μοτίβου

Η συνάρτηση regex(value, pattern) ελέγχει μια τιμή έναντι κανονικής έκφρασης:

typenamelabelconstraintconstraint_message
textemailΔιεύθυνση emailregex(., '^[^@]+@[^@]+\.[^@]+$')Εισαγάγετε έγκυρη διεύθυνση email
textzip_codeΤαχυδρομικός κωδικόςregex(., '^[0-9]{5}$')Εισαγάγετε ταχυδρομικό κωδικό 5 ψηφίων

Αναφορά άλλων πεδίων σε περιορισμό

Χρησιμοποιήστε ${fieldname} για αναφορά τιμών από άλλες ερωτήσεις:

typenamelabelconstraintconstraint_message
integerend_yearΈτος λήξης. >= ${start_year}Το έτος λήξης πρέπει να είναι μετά το έτος έναρξης
decimalloan_repaidΠοσό αποπληρωμής. <= ${loan_amount}Δεν μπορείτε να αποπληρώσετε περισσότερο από το ποσό δανείου

Μαλακή ειδοποίηση

Μια μαλακή ειδοποίηση (γνωστή επίσης ως μαλακός περιορισμός ή προειδοποίηση) προειδοποιεί τον απογραφέα ότι μια τιμή φαίνεται ασυνήθιστη, αλλά εξακολουθεί να του επιτρέπει να προχωρήσει.

Το πιο κοινό πρότυπο είναι να χρησιμοποιείτε μια σημείωση με έκφραση relevant που επισημαίνει την ύποπτη τιμή, σε συνδυασμό με ερώτηση acknowledge για επιβεβαίωση:

typenamelabelrelevant
integerchildrenΑριθμός παιδιών
notechildren_warningΠροειδοποίηση: Εισαγάγατε ${children} παιδιά. Παρακαλώ επιβεβαιώστε ότι αυτό είναι σωστό.. > 15
triggerchildren_confirmΕπιβεβαιώστε ότι ο αριθμός παιδιών είναι σωστός${children} > 15

Μαλακή ειδοποίηση μόνο με constraint_message

Για απλούστερη μαλακή προειδοποίηση, μπορείτε να διατυπώσετε τον περιορισμό για προειδοποίηση σε ακραίες τιμές:

typenamelabelconstraintconstraint_message
integerchildrenΑριθμός παιδιών. >= 0 and . <= 30Αυτή η τιμή φαίνεται πολύ υψηλή. Παρακαλώ επαληθεύστε.
Ήταν χρήσιμη αυτή η σελίδα;