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.

Reply via email to