Confirmar la clave

Saludos a la comunidad quisiera hacer una validacion de claves que
cuando el usuario confirme la clave, en caso de error se de un mensaje
estilo ajax de que las claves no son iguales, antes de hacer el
submit…

De antemano muchas gracias…

On Apr 3, 2007, at 12:21 AM, Juan M. wrote:

Saludos a la comunidad quisiera hacer una validacion de claves que
cuando el usuario confirme la clave, en caso de error se de un mensaje
estilo ajax de que las claves no son iguales, antes de hacer el
submit…

Puedes usar JavaScript en el cliente.

– fxn

Saludos a la comunidad quisiera hacer una validacion de
claves que cuando el usuario confirme la clave, en caso de
error se de un mensaje estilo ajax de que las claves no son
iguales, antes de hacer el submit…

Puedes usar la validación de modelo, “validates_confirmation_of”
http://api.rubyonrails.org/classes/ActiveRecord/Validations/ClassMethods.htm
l#M000939

Y luego usar “error_message_on” o “error_messages_for” para mostrar el
error
con “flash”, sea o no mediante Ajax.
http://api.rubyonrails.org/classes/ActionView/Helpers/ActiveRecordHelper.htm
l#M000567

Saludos

César

On Apr 3, 2007, at 6:32 PM, Juan M. wrote:

el problema es el siguiente en la vista si pongo el submit de la
siguiente manera: <%= submit_tag ‘Agregar’,
{:type=>‘button’,:onclick=>“if(checkUsuario(this.form))
{this.form.submit();}”}
%> me funciona las validaciones pero no me funciona el ajax

Los forms remotos funcionan con codigo Ajax que se pone en el
onsubmit del form.

La llamada this.form.submit() no dispara el evento onsubmit, el
idioma normal es

if (this.form.onsubmit()) {
this.form.submit();
}

y en tu caso no hay que hacer ni el submit() siquiera, ya que onsubmit
() es quien dispara la llamada Ajax. Con todo, quedaria

:onclick=>“if(checkUsuario(this.form)){this.form.onsubmit();}”

– ASPgems Team

Otro problema, pude hacer la validacion del lado del cliente con un
javascript, pero tengo el siguiente problema el cual es el siguiente
hice un javascript que me valida las claves. en mi vista tengo esto.

vista:
<%= javascript_include_tag “prototype” %>
<%= javascript_include_tag “validaciones” %>
<%= form_remote_tag :url => {:action => ‘confusuario’} %>
Usuario:
<%=text_field ‘usuario’, ‘usuario’, ‘size’=>20%>


Clave:
<%=password_field ‘usuario’, ‘clave’, ‘size’=>10 %>

Confirmar clave:
<%= password_field_tag(:clave2, @params[:clave2], :size =>10) %>

<%= submit_tag ‘Agregar’,
{:type=>‘button’,:onclick=>“if(checkUsuario(this.form)){this.form.submit();}”}
%>
  
<%= end_form_tag%>

en el controller:
@usuarioAx= params[:usuario][:usuario]
@claveAx = params[:usuario][:clave]
@usuario = Usuario.find(:first,
:conditions => “usuario = ‘#{@usuarioAx}’ AND
clave = ‘#{@claveAx}’”)

        render :update do |page|
            if @usuario==nil
@usuario = Usuario.new(params[:usuario])
@usuario.save
page.alert ("Usuario: " + @usuarioAx+ " agregado exitosamente")
            page.redirect_to url_for(:action => 'usuario')
           else
   page.replace_html :datos, "<font color='red'>Usuario 

existente"
end
end

el problema es el siguiente en la vista si pongo el submit de la
siguiente manera: <%= submit_tag ‘Agregar’,
{:type=>‘button’,:onclick=>“if(checkUsuario(this.form)){this.form.submit();}”}
%> me funciona las validaciones pero no me funciona el ajax, pero si
pomgo el submit de la siguiente manera <%= submit_tag ‘Agregar’%>
logicamente no me funciona las validaciones pero si el ajax.

Alguna ayuda.

Gracias de Antemano.

Xavier

La llamada this.form.submit() no dispara el evento onsubmit, el
idioma normal es

if (this.form.onsubmit()) {
this.form.submit();
}

y en tu caso no hay que hacer ni el submit() siquiera, ya que onsubmit
() es quien dispara la llamada Ajax. Con todo, quedaria

:onclick=>“if(checkUsuario(this.form)){this.form.onsubmit();}”

– ASPgems Team

Amigo Xavier gracias nuevamente, ya me funciona.

Amigo Xavier gracias nuevamente, ya me funciona.

Nuevo problema; quisiera ver si me pueden ayudar con lo siguiente,
necesito guardar un valor de una validacion hecha en un javascript, el
cual es el siguiente:

function checkUsuario(form){
var pass=true;
var auxCla1 = form.usuario_clave.value;
var auxCla2 = form.clave2.value;
var permiso = 0;

 if(!checkRequired(form.usuario_clave)){
  alert("El campo clave es requerido");
       form.usuario_clave.focus();
       permiso=1;
}
return permiso;

}
pd: no es todo pero es para el ejemplo.

la cual la llamo de mi vista con el codigo.
<%= submit_tag ‘Agregar’,
:onclick=>“if(checkUsuario(this.form)){this.form.onsubmit();}”%>

la pregunta es la siguiente como hago para tomar el valor “permiso” que
esta en mi javascript, para luego mandarla al controlador y ver si el
valor que tomo permiso es igual a 1 o 0. Para ver si le dejo al usuario
grabar o no.

yo tengo algo asi pero no me funciona, pues no toma ningun valor:
<%= hidden_field_tag :permiso%>

Si alguien me puede ayudar, gracias de antemano.

Xavier N. wrote:

On Apr 10, 2007, at 4:26 PM, Juan M. wrote:

la pregunta es la siguiente como hago para tomar el valor “permiso”
que
esta en mi javascript, para luego mandarla al controlador y ver si el
valor que tomo permiso es igual a 1 o 0. Para ver si le dejo al
usuario
grabar o no.

yo tengo algo asi pero no me funciona, pues no toma ningun valor:
<%= hidden_field_tag :permiso%>

Has de setear el campo oculto a mano desde JavaScript:

$(‘permiso’).value = 1;

– fxn

Amigo disculpa a que te refieres con “setear”, tengo que quitar el
hidden o tengo que agregar algo mas en el javascript. Disculpa y gracias
nuevamente

On 4/10/07, Juan M. [email protected] wrote:

la pregunta es la siguiente como hago para tomar el valor “permiso” que
esta en mi javascript, para luego mandarla al controlador y ver si el
valor que tomo permiso es igual a 1 o 0. Para ver si le dejo al usuario
grabar o no.

Hola Juan,

Recuerda que no es buena idea hacer ninguna validación sólo del lado
del cliente (el usuario puede desactivar javascript o hacer cosas
peores), aunque javascript te esté diciendo que todo está bien…
compruébalo también del lado del servidor, javascript está para
mejorar la experiencia de uso, no para comprobar lo que metes en tu
base de datos.

Un saludo


David A., el único desarrollador con una orden de alejamiento de
Jeffrey Zeldman
Simplelogica.net, ahora con un 33,3% más de intromisión en listas de correo

Cuando no hago otra cosa escribo en mildiez.net

On Apr 10, 2007, at 4:26 PM, Juan M. wrote:

la pregunta es la siguiente como hago para tomar el valor “permiso”
que
esta en mi javascript, para luego mandarla al controlador y ver si el
valor que tomo permiso es igual a 1 o 0. Para ver si le dejo al
usuario
grabar o no.

yo tengo algo asi pero no me funciona, pues no toma ningun valor:
<%= hidden_field_tag :permiso%>

Has de setear el campo oculto a mano desde JavaScript:

$(‘permiso’).value = 1;

– fxn

On Apr 10, 2007, at 6:35 PM, Juan M. wrote:

hidden o tengo que agregar algo mas en el javascript. Disculpa y
gracias
nuevamente

Queria decir que asignaras el valor.

El campo oculto lo necesitas porque lo que el controlador recibe es
el formulario, usaras el campo oculto para pasar el valor. Por otro
lado, como el valor mismo lo tienes en JavaScript, necesitas
asignarlo al campo oculto. Aquella linea que envie (que usa
JavaScript via Prototype) hace justamente eso.

– fxn

El campo oculto lo necesitas porque lo que el controlador recibe es
el formulario, usaras el campo oculto para pasar el valor. Por otro
lado, como el valor mismo lo tienes en JavaScript, necesitas
asignarlo al campo oculto. Aquella linea que envie (que usa
JavaScript via Prototype) hace justamente eso.

– fxn

Gracias amigo, ya todo funciona