<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 20229 -->
    <!-- Reviewed: no -->

<sect1 id="zend.validate.set" xmlns:xi="http://www.w3.org/2001/XInclude">

    <title>Clases de Validación Estándar</title>

    <para>Zend Framework viene con un conjunto estándar de clases de validación
        listas para usar.</para>

    <sect2 id="zend.validate.set.alnum">
        <title>Alnum</title>
        <para> Devuelve <constant>TRUE</constant> si y sólo si
                <varname>$valor</varname> contiene caracteres alfanuméricos
            únicamente. Este validador incluye una opción para considerar
            también al espacio en blanco como caracter válido. </para>
    </sect2>

    <note>
        <para>Los caracteres alfabéticos significan caracteres que componen
            palabras en cada idioma. Sin embargo, el alfabeto inglés es tratado
            como caracteres alfabéticos en los siguientes idiomas: chino,
            japonés, coreano. El lenguaje es especificado por
            Zend_Locale.</para>
    </note>

    <sect2 id="zend.validate.set.alpha">
        <title>Alpha</title>
        <para> Devuelve <constant>TRUE</constant> si y sólo si
                <varname>$valor</varname> sólo contiene caracteres alfabéticos.
            Este validador incluye una opción para considerar también al espacio
            en blanco como caracter válido. </para>
    </sect2>

    <xi:include href="Zend_Validate-Barcode.xml"/>

    <sect2 id="zend.validate.set.between">
        <title>Between</title>
        <para> Devuelve <constant>TRUE</constant> si y sólo si
                <varname>$valor</varname> está entre los valores límites mínimo
            y máximo. La comparación es inclusiva por defecto (
                <varname>$valor</varname> puede ser igual a una valor límite),
            aunque esto puede ser anulado a fin de hacer una comparación
            estricta, donde <varname>$valor</varname> debe ser estrictamente
            mayor al mínimo y estrictamente menor al máximo. </para>
    </sect2>

    <xi:include href="Zend_Validate-Callback.xml"/>
    <xi:include href="Zend_Validate-CreditCard.xml"/>

    <sect2 id="zend.validate.set.ccnum">
        <title>Ccnum</title>
        <para> Devuelve <constant>TRUE</constant> si y sólo si
                <varname>$valor</varname> sigue el algoritmo Luhn (mod-10
            checksum) para tarjetas de crédito. </para>

        <note>
            <para> The <classname>Ccnum</classname> validator has been
                deprecated in favor of the <classname>CreditCard</classname>
                validator. For security reasons you should use CreditCard
                instead of Ccnum. </para>
        </note>
    </sect2>

    <sect2 id="zend.validate.set.date">
        <title>Date</title>
        <para> Devuelve <constant>TRUE</constant> si y sólo si
                <varname>$valor</varname> es una fecha válida en el formato
                <methodname>YYYY-MM-DD</methodname> (AAAA-MM-DD). Si se usa la
            opción <methodname>locale</methodname> entonces la fecha será
            validada de acuerdo a lo establecido para ese locale. Además, si se
            establece la opción <methodname>format</methodname> ese formato se
            utiliza para la validación. Para más detalles acerca de los
            parámetros opcionales ver en: <link
                linkend="zend.date.others.comparison.table"
                >Zend_Date::isDate()</link> . </para>
    </sect2>

    <xi:include href="Zend_Validate-Db.xml">
        <xi:fallback href="../../en/module_specs/Zend_Validate-Db.xml"/>
    </xi:include>
    <sect2 id="zend.validate.set.digits">
        <title>Digits</title>
        <para> Devuelve <constant>TRUE</constant> si y sólo si
                <varname>$valor</varname> contiene solamente dígitos. </para>
    </sect2>

    <xi:include href="Zend_Validate-EmailAddress.xml">
        <xi:fallback href="../../en/module_specs/Zend_Validate-EmailAddress.xml"
        />
    </xi:include>
    <sect2 id="zend.validate.set.float">
        <title>Float</title>
        <para> Devuelve <constant>TRUE</constant> si y sólo si
                <varname>$value</varname> es un valor de punto flotante. Desde
            Zend Framework 1.8 toma en cuenta la localizacion actual del
            navegador, las variables o el uso. Puede usar get/setLocale para
            cambiar la configuracion regional o crear una instancia para este
            validador </para>
    </sect2>

    <sect2 id="zend.validate.set.greater_than">
        <title>GreaterThan</title>
        <para> Devuelve <constant>TRUE</constant> si y sólo si
                <varname>$valor</varname> es mayor al límite mínimo. </para>
    </sect2>

    <sect2 id="zend.validate.set.hex">
        <title>Hex</title>
        <para> Devuelve <constant>TRUE</constant> si y sólo si
                <varname>$valor</varname> contiene caracteres hexadecimales (0-9
            y A-F). </para>
    </sect2>

    <xi:include href="Zend_Validate-Hostname.xml"/>

    <sect2 id="zend.validate.set.iban">
        <title>Iban</title>
        <para> Returns <constant>TRUE</constant> if and only if
                <varname>$value</varname> contains a valid IBAN (International
            Bank Account Number). IBAN numbers are validated against the country
            where they are used and by a checksum. </para>

        <para>There are two ways to validate IBAN numbers. As first way you can
            give a locale which represents a country. Any given IBAN number will
            then be validated against this country.</para>
        <programlisting language="php"><![CDATA[
$validator = new Zend_Validate_Iban('de_AT');
$iban = 'AT611904300234573201';
if ($validator->isValid($iban)) {
    // IBAN appears to be valid
} else {
    // IBAN is invalid
    foreach ($validator->getMessages() as $message) {
        echo "$message\n";
    }
}
]]></programlisting>
        <para>This should be done when you want to validate IBAN numbers for a
            single countries. The simpler way of validation is not to give a
            locale like shown in the next example.</para>
        <programlisting language="php"><![CDATA[
$validator = new Zend_Validate_Iban();
$iban = 'AT611904300234573201';
if ($validator->isValid($iban)) {
    // IBAN appears to be valid
} else {
    // IBAN is invalid
}
]]></programlisting>
        <para>But this shows one big problem: When you have to accept only IBAN
            numbers from one single country, for example france, then IBAN
            numbers from other countries would also be valid. Therefor just
            remember: When you have to validate a IBAN number against a defined
            country you should give the locale. And when you accept all IBAN
            numbers regardless of any country omit the locale for
            simplicity.</para>
    </sect2>

    <sect2 id="zend.validate.set.in_array">
        <title>InArray</title>
        <para> Devuelve <constant>TRUE</constant> si y sólo si
                <varname>$valor</varname> se encuentra en un array, y si la
            opción es estricta entonces también verificará el tipo de dato de
                <varname>$valor</varname> . </para>
    </sect2>

    <xi:include href="Zend_Validate-Identical.xml"/>
    <xi:include href="Zend_Validate-InArray.xml"/>

    <sect2 id="zend.validate.set.int">
        <title>Int</title>
        <para> Returns <constant>TRUE</constant> if and only if
                <varname>$value</varname> is a valid integer. Since Zend
            Framework 1.8 this validator takes into account the actual locale
            from browser, environment or application wide set locale. You can of
            course use the get/setLocale accessors to change the used locale or
            give it while creating a instance of this validator. </para>
    </sect2>

    <xi:include href="Zend_Validate-Ip.xml"/>
     <xi:include href="Zend_Validate-Isbn.xml" />

    <sect2 id="zend.validate.set.less_than">
        <title>LessThan</title>
        <para> Devuelve <constant>TRUE</constant> si y sólo si
                <varname>$valor</varname> es menor al límite máximo. </para>
    </sect2>

    <xi:include href="Zend_Validate-NotEmpty.xml"/>

    <xi:include href="Zend_Validate-PostCode.xml"/>

    <sect2 id="zend.validate.set.regex">
        <title>Regex</title>
        <para> Devuelve <constant>TRUE</constant> si y sólo si
                <varname>$valor</varname> coincide con el patrón de una
            expresión regular. </para>
    </sect2>

    <xi:include href="Zend_Validate-Sitemap.xml">
        <xi:fallback>
            <xi:include href="../../en/module_specs/Zend_Validate-Sitemap.xml"/>
        </xi:fallback>
    </xi:include>

    <sect2 id="zend.validate.set.string_length">
        <title>StringLength</title>
        <para> Devuelve <constant>TRUE</constant> si y sólo si la longitud del
            string <varname>$valor</varname> es por lo menos un mínimo y no
            mayor a un máximo (cuando la opción max no es
                <constant>NULL</constant> ). Desde la versión 1.5.0, el método
                <methodname>setMin()</methodname> lanza una excepción si la
            longitud mínima tiene un valor mayor que la longitud máxima
            establecida, y el método <methodname>setMax()</methodname> lanza una
            excepción si la longitud máxima se fija a un valor inferior que la
            longitud mínima establecida. Desde la versión 1.0.2, esta clase
            soporta UTF-8 y a otras codificaciones, basado en el valor actual
            de: <ulink
                url="http://www.php.net/manual/en/ref.iconv.php#iconv.configuration"
                > iconv.internal_encoding </ulink> . If you need a different
            encoding you can set it with the accessor methods getEncoding and
            setEncoding. </para>
    </sect2>

</sect1>
