edit rules – PHP Database Form https://phpdatabaseform.com Generate web form from database. Simple. Fri, 26 Dec 2014 16:06:25 +0000 en-US hourly 1 https://wordpress.org/?v=7.0.4 Data Validation https://phpdatabaseform.com/examples/data-validation/ Mon, 07 Jul 2014 21:24:08 +0000 http://phpdatabaseform.com/?p=308 Use set_editrule() method to validate data using client side javascript function such as date format, phone number, SSN format, min-max ranges etc.

$dbForm = new C_DatabaseForm("SELECT * FROM Employees", "EmployeeID", "Employees");
$dbForm -> set_label("EmployeeID", "Employee ID");
$dbForm -> set_label("LastName", "Last Name");
$dbForm -> set_label("FirstName", "First Name");
$dbForm -> set_label("BirthDay", "DOB");
$dbForm -> set_hide("Extension");
$dbForm -> set_hide("hireDate");
$dbForm -> set_placeholder('Title', 'official job title');
$dbForm -> add_group_header("EmployeeID", "Basic Info");
$dbForm -> add_group_header("Email", "Contact Info");
$dbForm -> add_tooltip("BirthDate", "Enter employee birth date"); // tooltip supports HTML as well
$dbForm -> set_readonly(array('EmployeeID, LastName'));
$dbForm -> set_ctrltype('Notes', 'wysiwyg');
$dbForm -> set_ctrltype("Country", "autocomplete", "SELECT Code, Name FROM Country");
$dbForm -> set_ctrltype("ReportsTo", "select", "SELECT EmployeeID, LastName FROM Employees");
$dbForm -> set_ctrltype('Email', 'email');
$dbForm -> set_ctrltype('Gender', 'radio', 'M:MMM;F:FFF;Y:YYY;Z:ZZZ');
$dbForm -> set_ctrltype('IsActive', 'checkbox', '1:0');  // single key value pair only
$dbForm -> set_ctrltype('Shift', 'checkboxlist', 'Regular:Regular;Gravy Yard:Gravy Yard');
$dbForm -> set_ctrltype('SSN', 'password');
$dbForm -> set_editrule("SSN", "SSN_validate"); // validate format with javascript
$dbForm -> display();

Social Security Number format validation (javascript)

function SSN_validate(value, colname){
    var re = /^(\d{3}-?\d{2}-?\d{4}|XXX-XX-XXXX)$/;
    if(!re.test(value)){
        return [false, colname + " is invalid."];
    }else{
        return [true, ""];
    }
}

Live demo

]]>