Add JavaScript Validation Function

Q

How to Add JavaScript Validation Function?

✍: FYIcenter.com

A

After creating a new field type, you may want to add your own custom validatino rule through a new JavaScript function.

1. Go back to "Modules > Custom Fields" and edit "My Int" field type.

2. Click "Validation" tab. You see a list of validation rules inherited from "textbox" field type.

3. Click "Add Validatin Rule". You see a the "Add Validatin Rule" page.

4. Select "Custom > Function" as the validation rule type. And the following:

Label: Two-digit numbers
Default Error Message: Your number is out of range.
Custom Function: cf_int.two_digits
Is this a required field: Yes

3. Click "Displaying > JavaScript" type and enter the follow JavaScript code to define the validation function:

var cf_int = {};
cf_int.two_digits = function() {
  var errors = [];
  for (var i=0; i<rsv_custom_func_errors.length; i++) {
    if (rsv_custom_func_errors[i].func != "cf_int.two_digits") {
      continue;
    }
    var field_name = rsv_custom_func_errors[i].field;
    var fields = $("input[name^=\"" + field_name + "\"]");
    var field_value = fields.val();
    if (field_value<0 || field_value >99) {
        var el = document.edit_submission_form[field_name];
        errors.push([el, rsv_custom_func_errors[i].err]);
    }
  }
  if (errors.length) {
    return errors;
  }

  return true;
}

Now "My Int" field type supports a new custom validation rule called "Two-digit numbers"

See the next tutorial on how to use this validation rule.

 

Use Custom Field with Custom Validation

Create "My Int" Field Type

Using Custom Fields Module

⇑⇑ Form Tools - Frequently Asked Questions

2019-12-02, 128👍, 0💬