#179 new
Nicholas Blasgen

Enhancement: Client side validation

Reported by Nicholas Blasgen | March 2nd, 2009 @ 12:46 AM

I couldn't find any way to add client side validation so I added an extension to cover the need. This is an early draft just to make my site work correctly, but in the future it should use triggerCallback() so that the transport is passed. In my version you can't do something like modify the value prior to sending it to the server--you can only either allow the form to submit or stop it. I would like to make it so that the validation could modify the string (such as stripping off a $ in a field expecting a float because it's meaninless), but at the same time I really like being passed more than a single argument to the function.

Using 1.8.2.

Diff (old version, new version):

624a625,632

if ('function' == typeof this.options['onSubmit']) {
  if (this.options['onSubmit'](this.element.id, value)) {
    form.addClassName(this.options.errorClassName);
    //this.handleFormCancellation(e);
    //value.focus();
    return false;
  }
}

893a902

errorClassName: 'inplaceeditor-error',

917a927,930

onSubmit: function(editorId, editorValue) {
          alert('error!');
          return true;            // return true on error
},

Comments and changes to this ticket

  • Nicholas Blasgen

    Nicholas Blasgen March 2nd, 2009 @ 12:49 AM

    I see now that 1.x.x is feature frozen. Please include something like this in v2. I haven't looked at v2 code, so I'm not sure what features it already supports.

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.

New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป

script.aculo.us is an open-source JavaScript framework for visual effects and interface behaviours.
<br/><b>Source available from github</b>
The Git repository resides at:
<a href="http://github.com/madrobby/scriptaculous">http://github.com/madrobby/scriptaculous</a>
<br/>Check out the current development trunk with:
<code>git clone git://github.com/madrobby/scriptaculous.git</code>
<br/>As <b>script.aculo.us 1.xx is feature-frozen</b>, this development trunk is for <b>bugfixes only</b>.
<br/>New development should happen only for
<b>script.aculo.us 2</b>.
<br/><b>Creating a bug report</b>
When creating a bug report, be sure to include as much relevant information as possible. Post a an example that shows off the problem. Preferably, <b>alter the unit tests</b> and show through either changed or added tests how the expected behavior is not occuring.

People watching this ticket

Pages