So I figured it out to an extent, but I think I'm still one step off and I haven't been able to track down the exact syntax for using regex in this context. I changed the $_validators array to:
**** protected $_validators = 'lname' => array(array('Regex','/[^a-z\'-]/i')) ); **** And it kind of works, except to the opposite! The regex validator will return false if I have a clean string (because it doesn't actually match anything) and true if I have a bad character in there (a 7, for example), so it validates the wrong way. I assume there's a way to reverse that in ZF, but I haven't been able to find the correct syntax. Is that possible? Or do I need to alter the expression itself? Thanks! Matthew Weier O'Phinney-3 wrote: > > -- benxmy <ben...@gmail.com> wrote > (on Tuesday, 03 February 2009, 11:27 AM -0800): >> >> Still not quite there. I believe I may be using Zend_Filter_Input >> incorrectly. I made the changes to my $_validators array as described >> and >> now it throws the following exception >> >> Fatal error: Uncaught exception 'Zend_Loader_PluginLoader_Exception' with >> message 'Plugin by name 1 was not found in the registry.' >> ... >> Zend_Loader_PluginLoader->load('1') >> >> Just for reference, when I print out the $_validators array that's passed >> to >> my validation function, this is the result: >> >> Array ( [field1] => Array ( [0] => Array ( [validator] => 1 >> [breakChainOnFailure] => 1 [options] => Array ( [0] => /[^a-z'-]/i ) ) ) >> ) > > Okay, I'm sorry -- I misled you. I though you were using Zend_Form, > which has a slightly different notation. > > I'll review the thread later and see if I can diagnoes further. > >> So it looks as if it's taking the 'true' in either the validator value or >> the breakchainonfailure value of the array and trying to load it. I've >> tried to script it in a few different ways and triple-checked that I have >> the $_validators array set up correctly (testing with only the single >> field) >> and get the same exception. >> >> >> >> Matthew Weier O'Phinney-3 wrote: >> > >> > -- benxmy <ben...@gmail.com> wrote >> > (on Monday, 02 February 2009, 01:58 PM -0800): >> > >> > You're creating the validators array incorrectly. I'm assuming from >> > your example that you're creating an array of field => validators >> arrays >> > that you use to create your elements. The problem with how you've done >> > it is that setValidators(), which is called when you pass validators >> via >> > the constructor, expects that each element in the array is either a >> > string or an array representing a single validator. Additionally, you >> > can sometimes run into issues with order of operators, so I typically >> > recommend using key/value pairs in each array defining a validator. >> > >> > Try the following: >> > >> > protected $_validators = array( >> > 'field1' => array( >> > array( >> > 'validator' => true, >> > 'breakChainOnFailure' => true, >> > 'options' => array('/[^a-z\' -]/i'), >> > ), >> > ), >> > ); >> > >> > >> >> -- >> View this message in context: >> http://www.nabble.com/getMessages%28%29-crashes-with-quotes%21-tp21793751p21817057.html >> Sent from the Zend Framework mailing list archive at Nabble.com. >> > > -- > Matthew Weier O'Phinney > Software Architect | matt...@zend.com > Zend Framework | http://framework.zend.com/ > > -- View this message in context: http://www.nabble.com/getMessages%28%29-crashes-with-quotes%21-tp21793751p21860299.html Sent from the Zend Framework mailing list archive at Nabble.com.