The pui.validate event, if defined, fires for each field that is modified on a Rich Display File screen and submitted back to the server.

The event can change the value being sent to the server by returning a new value as a string.  However, this would prevent any normal Profound UI formatting to occur.

The event can bubble up to normal Profound UI formatting by returning null.

The event can both change the value being sent to the server and bubble up to normal Profound UI processing by modifying the "value" property on the parameter passed to the event and returning null.

The event can cause a validation message to occur by returning an object with a property named "msg", which will contain the message to display.


The pui.validate event receives one parameter object that has the following properties:

  • value - the value being submitted to the server; this can be changed by the event

  • fieldName - the name of the field being modified

  • dataType - the field data type

  • dataLength - data length (only present if the field is a character or a numeric field)

  • formatting - field formatting


The following code looks for invalid characters in all character input fields.

pui.validate = function(obj) { var invalidRegExp = new RegExp("[^A-Za-z0-9`-~!@#\\$%\\^&\\*\\(\\)_\\+\\{\\}\\[\\]\\|\\\\:;\"'<>,\\.\\?/ =]", "m"); if (obj.dataType == "char") { // replace tab and quote characters pasted from MS Word with standard characters obj.value = obj.value.replace(/\t/g, " "); obj.value = obj.value.replace(/\u201C/g, "\""); obj.value = obj.value.replace(/\u201D/g, "\""); obj.value = obj.value.replace(/\u2018/g, "'"); obj.value = obj.value.replace(/\u2019/g, "'"); if (invalidRegExp.test(obj.value)) { return { "msg": "The field contains invalid characters." } } } return null; }