PHP - condicionar 'required' cuando se muestre un campo en formulario

 
Vista:
sin imagen de perfil

condicionar 'required' cuando se muestre un campo en formulario

Publicado por therev (2 intervenciones) el 25/06/2018 23:39:52
Hola, lo que pasa es que tengo un formulario con varios campos y todos tienen 'required'
Pero tenia que ocultar el item mensaje y que cuando el usuario active un checkbox se despliegue el item de mensaje
Lo que pasa es que como esta oculto cuando el usuario apenas lo ve y no le da el checkbox pues no lo deja seguir porque tiene el requerido en el mensaje
La pregunta es: como hago para que sea obligatorio llenar ese campo cuando el usuario active ese item y que no sea obligatorio cuando no lo active y lo deje seguir
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

condicionar 'required' cuando se muestre un campo en formulario

Publicado por xve (6935 intervenciones) el 26/06/2018 08:19:05
Hola Therev, segun entiendo, tendrás que poner y quitar el required cuando este oculto y ponérselo cuando este visible desde Javascript... algo así:

1
document.getElementById("edName").required = true;

Te sirve?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

condicionar 'required' cuando se muestre un campo en formulario

Publicado por therev (2 intervenciones) el 26/06/2018 15:42:15
algo parecido
Como hago para eliminar un required con js cuando le den click en un checkbox?

este es el código de mi formulario

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<section>
 
{{ Form::open(['url' => 'formulario/contacto-proyectos', 'method' => 'post', 'data-abide', 'novalidate', 'class' => 'formulario']) }}
  <div class="lineaformulario">
  <h1 class="formulario__titulo tituloproyecto">¡CONTÁCTANOS!</h1>
  <hr class="colorbackgroundproyect colorfuenteproyect">
  <div style="text-align: center;"><strong class="colorbackgroundproyect colorfuenteproyect">*</strong>Déjanos tus datos y te enviaremos información general del proyecto</div>
  <br>
  </div>
  <input placeholder="Nombre" required="required" name="nombre"  type="text" class="formulario__input formulario__inputt">
  {{ $errors->first('nombre', '<span class="form-error is-visible"> :message </p>') }}
  <label for="" class="formulario__label">Nombres<p class="colorfuenteproyect" style="margin-top: -33px;margin-left: 47px;">*</p></label>
 
  <input placeholder="Correo electrónico" required="required" name="correo" type="email" type="text" class="formulario__input formulario__inputt">
     {{ $errors->first('correo', '<span class="form-error is-visible"> :message </p>') }}
  <label for="" class="formulario__label">Correo<p class="colorfuenteproyect" style="margin-top: -33px;margin-left: 30px;">*</p></label>
 
  <input  placeholder="Teléfono" required="required" name="telefono" type="text" class="formulario__input formulario__inputt">
             {{ $errors->first('telefono', '<span class="form-error is-visible"> :message </p>') }}
  <label for="" class="formulario__label">Teléfono<p class="colorfuenteproyect" style="margin-top: -33px;margin-left: 44px;">*</p></label>
 
  <div id="prueba" style="display: none;">
  <textarea  placeholder="Mensaje" required="required" name="mensaje" class=" formulario__input formulario__inputts" rows="1"></textarea>
  <label  for="" class="formulario__label formulario__labell">Mensaje</label>
  </div>
 
            <div class="medium-12 columns">
                <input type="checkbox" name="check" id="check" value="1" onchange="javascript:showContent()"/><span style="font-size: 20px; margin-left: 8px;">Inquietudes adicionales</span>
            </div>
 
              <div class="medium-12 columns">
                {{ Form::checkbox('terminos', 1, false, ['id' => 'terminos', 'required']) }}
                <label class="terminos" for="terminos">He leído y acepto los <a data-open="exampleModal1">términos de privacidad</a></label>
                {{ $errors->first('terminos', '<span class="form-error is-visible"> :message </p>') }}
            </div>
 
            <div class="medium-12 columns">
                <div class="g-recaptcha" data-sitekey="6LeeqgwUAAAAAHd6Jmyut-sLvXMWt3HukJSbVLKk"></div>
                {{ $errors->first('g-recaptcha-response', '<span class="form-error is-visible"> :message </p>') }}
            </div>
 
 
   {{ Form::hidden('proyecto', $project); }}
   {{ Form::hidden('url', Request::path()) }}
   {{ Form::hidden('formulario', 'proyecto_asesor_inmobiliario') }}
 
  <input type="submit" class=" colorbackgroundproyect formulario__submit" value="Enviar">
{{ Form::close() }}
 
</section>

Y este el el js con el que oculto el campo textarea
1
2
3
4
5
6
7
8
9
10
11
12
<script type="text/javascript">
    function showContent() {
        element = document.getElementById("prueba");
        check = document.getElementById("check");
        if (check.checked) {
            element.style.display='block';
        }
        else {
            element.style.display='none';
        }
    }
</script>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

condicionar 'required' cuando se muestre un campo en formulario

Publicado por xve (6935 intervenciones) el 26/06/2018 18:03:08
Cuando lo ocultes, quitale el required o pónselo cuando lo muestres...

Para ponérselo:
1
element.required=true;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar