NumericField acepta todo con Alt+

edited agosto 2007 in Bugs y Problemas
Saludos,

Probando el helper NumericField me percate que tras mantener presionada la tecla ALT y un codigo asscii deja ingresar caracteres no numericos.

Comentarios

  • edited 12:18
    Hay que agregar este bug a el trac <!-- m --><a class="postlink" href="http://tools.assembla.com/kumbia/newticket">http://tools.assembla.com/kumbia/newticket</a><!-- m -->

    Saludos
  • Saludos a todos yo pude mejorar ese helper modificando en tags.php y validations.js

    Aqui dejo el código de la función numeric_field_tag($name) modificada
    function numeric_field_tag&#40;$name&#41;&#123;
    	$value = get_value_from_action&#40;$name&#41;;
    	$name = get_params&#40;func_get_args&#40;&#41;&#41;;
    	if&#40;!$name&#91;0&#93;&#41; $name&#91;0&#93; = $name&#91;'id'&#93;;
    	if&#40;!$name&#91;'name'&#93;&#41; $name&#91;'name'&#93; = $name&#91;0&#93;;
    	if&#40;!$value&#41; $value = $name&#91;'value'&#93;;
    	if&#40;!isset&#40;$name&#91;'onKeyPress'&#93;&#41;&#41; &#123;
    		$name&#91;'onKeyPress'&#93; = &quot; return valNumeric&#40;event&#41;&quot;;
    	&#125; else &#123;
    		$name&#91;'onKeyPress'&#93;&#46;=&quot;; return valNumeric&#40;event&#41;&quot;;
    	&#125;
    	$code&#46;=&quot;&lt;input type='text' id='&#123;$name&#91;0&#93;&#125;' value='$value' &quot;;
    	foreach&#40;$name as $key =&gt; $value&#41;&#123;
    		if&#40;!is_numeric&#40;$key&#41;&#41;&#123;
    			$code&#46;=&quot;$key='$value' &quot;;
    		&#125;
    	&#125;
    	$code&#46;=&quot;&gt;\r\n&quot;;
    	return $code;
    &#125;
    

    Este el código que utilizo para validar que solo ingresen numero exactamente ese funcion se encuentra en el directorio de JS el archivo validations.js
    var nav4 = window&#46;Event ? true &#58; false;
    function valNumeric&#40;evt&#41;&#123;
    	var key = nav4 ? evt&#46;which &#58; evt&#46;keyCode;
    	return &#40;key &lt;= 13 || &#40;key &gt;= 48 &amp;&amp; key &lt;= 57&#41;&#41;;
    &#125;
    

    Aqui le dejo el enlace para que observen cuales son los valores aceptados de acuerdo a ese rango en la tabla ASCII.
    http://es.wikipedia.org/wiki/ASCII
  • edited 12:18
    Puedes agregarlo al SVN?
  • Si de verdad que he tenido problema para conectarme al SVN quizas sea por un proxy que hay donde trabajo sin embargo me gustaria que lo probaran le den el visto bueno... Digo por cuestiones que hemos venido hablando y la ley entra por casa...
  • edited 12:18
    Aqui dejo el código de la función numeric_field_tag($name) modificada
    [code]...
    if(!$name[0]) $name[0] = $name;
    if(!$name) $name = $name[0];
    if(!$value) $value = $name;

    Hola Deivinson, antes que nada, agradezco tu valiosa participacion en la comunidad Kumbia.

    Seguidamente, y como critica constructiva, te recomiendo sigas los estandares de codificacion propuestos en:
    http://kumbia.org/foro/viewtopic.php?t=50

    Como ves, uno de los acuerdos alli propuestos sugiere colocar llaves de cierre y de apertura a todas las sentencias de control (las razones expuestas alli).

    Gracias.
  • Hola Roger bueno si no me percate de estos detalles y bueno ya los corregí me gustaría que alguien mas probara este código y dijera que tal

    Aqui dejo el código de la función numeric_field_tag($name) modificada
    function numeric_field_tag&#40;$name&#41;&#123;
    
    	$value = get_value_from_action&#40;$name&#41;;
    	$name = get_params&#40;func_get_args&#40;&#41;&#41;;
    	
    	if&#40;!$name&#91;0&#93;&#41;&#123;
    	    $name&#91;0&#93; = $name&#91;'id'&#93;;
    	&#125;
    	
    	if&#40;!$name&#91;'name'&#93;&#41;&#123;
    	    $name&#91;'name'&#93; = $name&#91;0&#93;;
    	&#125;
    	
    	if&#40;!$value&#41;&#123;
    	    $value = $name&#91;'value'&#93;;
    	&#125;
    	
    	if&#40;!isset&#40;$name&#91;'onKeyPress'&#93;&#41;&#41; &#123;
    		$name&#91;'onKeyPress'&#93; = &quot; return valNumeric&#40;event&#41;&quot;;
    		
    	&#125;else &#123;
    		$name&#91;'onKeyPress'&#93;&#46;=&quot;; return valNumeric&#40;event&#41;&quot;;
    	&#125;
    	
    	$code&#46;=&quot;&lt;input type='text' id='&#123;$name&#91;0&#93;&#125;' value='$value' &quot;;
    	
    	foreach&#40;$name as $key =&gt; $value&#41;&#123;
    		if&#40;!is_numeric&#40;$key&#41;&#41;&#123;
    			$code&#46;=&quot;$key='$value' &quot;;
    		&#125;
    	&#125;
    	$code&#46;=&quot;&gt;\r\n&quot;;
    	return $code;
    &#125;
    
    Este el código que utilizo para validar que solo ingresen numero exactamente ese funcion se encuentra en el directorio de JS el archivo validations.js
    var nav4 = window&#46;Event ? true &#58; false;
    function valNumeric&#40;evt&#41;&#123;
    	var key = nav4 ? evt&#46;which &#58; evt&#46;keyCode;
    	return &#40;key &lt;= 13 || &#40;key &gt;= 48 &amp;&amp; key &lt;= 57&#41;&#41;;
    &#125;
    
Sign In or Register to comment.