SmartCheck Validation

From SmartWiki
Revision as of 13:45, 7 December 2015 by Alvin Thompson (talk | contribs)

Jump to: navigation, search

Template:UnderConstruction

Overview

SmartCheck Validation enables your SmartSimple system to perform server-side field validations ensuring that applications and form inputs meets your requirements.
These validations are performed on “submit” actions and returns failed field entries with your specified error messages. These messages are displayed at the top of the form and on-click will take the user to referenced field.

SmartCheck Validation Structure

Each SmartCheck Validation statement shares the following structure:


  • If Statement (thing to be compared)
  • Result (true or false result)
  • Message (to be displayed on failed result)


In the example below:

if(ssParseNum(form.getStr("cf_Store Value")) > 5)
    {result.isPassed=false;
    result.addMsg('Some message here');
   }

Recognize the If, Result, Message structure:

if(ssParseNum(form.getStr("cf_Store Value")) > 5)

Check If the contents the of the form value (stored in the custom field named cf_Store_Value) is greater than 5,

{result.isPassed=false;

If the statement is false, set the value of the Result to "false" and print the custom message below.

result.addMsg('Some message here');
}

Enabling SmartCheck Validation

SmartCheck Validation can be enabled system-wide, for Users and Companies, or on a UTA-by-UTA basis.

Before you can enable SmartCheck Validation on your system you’ll need Global Administrator privileges.


To enable the feature system-wide:

  1. Under the Configuration menu click on Global Settings.
  2. Add a check mark to the Activate SmartCheck Validation box under System Configuration.


To enable the feature for Users and Companies:

  1. Under the Configuration menu click on Global Settings.
  2. Click on the Organizations and Users tab
  3. Add a check mark to the SmartCheck Validation box under System Configuration.
  4. Click on New Validation
  5. Using the Code Builder or Source tabs, enter your validation details.
  6. Click Save when done


To enable the feature on a specific UTA:

  1. Navigate to the desired UTA-by-UTA
  2. Click on Settings
  3. Under the L1, L2, or L3 click on the SmartCheck Validation link under the Properties menu.
  4. Click on New Validation
  5. Using the Code Builder or Source tabs, enter your validation details.
  6. Click Save when done


Examples

Application Name field black

if(form.getStr("sf_Application Name") == "")
    {result.isPassed=false;
    result.addMsg('Application name cannot be blank');
    }

Requested Amount less than X

if(ssParseNum(form.getStr("cf_Requested Amount")) < "5000")
    {result.isPassed=false;
    result.addMsg('cf_@Requested Amount.id@','Field test message');
    }

Number value greater than 5

if(ssParseNum(form.getStr("cf_Store Value")) > 5)
    {result.isPassed=false;
    result.addMsg('Some message here');
    }

Single field upload field has no file

if("@Single File Field.filename@" == "")
    {result.isPassed=false;
    result.addMsg('Please upload a file here');
    }

Multi file upload field has no files

if(ssParseNum("@level1.MUlti upload.numoffiles@") < 1)
    {result.isPassed=false;
    result.addMsg('Please upload at least one file');    }

Comparing two custom date fields with separate custom time fields storing 24 hour time

if(form.getStr("cf_Event Start Date")+' '+form.getStr("cf_Event Start Time") >= form.getStr("cf_Event End Date")+' '+form.getStr("cf_Event End Time"))
  {result.isPassed=false;
  result.addMsg('cf_@Event End Time.id@','End Time must take place after the Start Time');  } 

To include other scripts into a SmartCheck script:

//@include(AnotherSmartCheckScriptName)@