Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    107

    [JQuery] - Validation plugin - range date

    Qualche esperto di JQuery ?.... Sto impazzendo da tutto il giorno per validare un intervallo di date

    codice:
    // a custom method for validating the date range
    			$.validator.addMethod("dateRange", 
    				function() {
    						return new Date($("#dataInizioAsString").val()) < new Date($("#dataFineAsString").val());
    					}, 
    				"Intervallo date non corretto");
    				
    
    			$(function () {
    				$(":text, :password, #utente").bind("focus blur", function (event) {
    			            if (event.type == "focus") {
    			                $(this).css("border","2px solid #4C70AF");
    			            } else {
    			                $(this).css("border","");
    			            }
    				});
    
    				var validator = $("#reportForm").validate({ 
    					rules: {
    						dataFineAsString : { dataRange: true },
    						utente : "required"
    					},
    					groups: {
    						dateRange: "dataInizioAsString dataFineAsString"
    					},
    					messages: {
    						utente: "Selezionare un utente"
    					},
    					errorPlacement: function(error, element) {
    					 	
    						if (element.attr("name") == "dataInizioAsString" || element.attr("name") == "dataFineAsString" )
    							error.insertAfter("#dataFineAsString");
    						else
    							error.insertAfter(element);
    						
    					},
    					debug: true
    			    });
    			});
    codice:
    
    
      <label class="labelFiltro" for="dataInizioAsString">Da Data</label>
      <input type="text" readonly="true" onclick="event.cancelBubble=true;this.select();lcs(this);"  value="" name="dataInizioAsString" id="dataInizioAsString" maxlength="10">
      <span style="margin-left: 5px;">
           <label class="labelFiltroA" for="dataFineAsString">A Data</label>
           <input type="text" readonly="true" onclick="event.cancelBubble=true;this.select();lcs(this);"  value="" name="dataFineAsString" id="dataFineAsString" maxlength="10">
      </span> 
    </p>

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    107
    Forse ho risolto così. Che ne dite ? SI può scrivere il tutto in maniera più compatta e corretta ?

    codice:
    // a custom method for validating the date range
    $.validator.addMethod("dateRange", 
    	function() {
    		if( $("#dataInizioAsString").val() != "" &&  $("#dataFineAsString").val() != "")
    			return new Date($("#dataInizioAsString").val()) < new Date($("#dataFineAsString").val());
    		else
    			return true;
    		}, 
    		"Intervallo date non corretto");
    				
    
    	$(function () {
    		var validator = $("#reportForm").validate({ 
    			rules: {
    				dataInizioAsString : { 
    						required: {
    							depends: function() {
    								return $("#dataFineAsString").val() != "";
    									}
    								}
    							},
    				dataFineAsString : { 
    						dateRange: true,
    						required: {
    							depends: function() {
    							        return $("#dataInizioAsString").val() != "";
    									}
    								}
    						},
    				utente : "required"
    				},
    				groups: {
    					dateRange: "dataInizioAsString dataFineAsString"
    				},
    				messages: {
    					dataInizioAsString: {
    								required: "Valorizzare entrambe le date"
    								},
    					dataFineAsString: {
    								required: "Valorizzare entrambe le date"
    								},
    					utente: "Selezionare un utente"
    				},
    				errorPlacement: function(error, element) {
    					 if (element.attr("name") == "dataInizioAsString" || element.attr("name") == "dataFineAsString" )
    						error.insertAfter("#dataFineAsString");
    					else
    						error.insertAfter(element);
    						
    					},
    					debug: true
    			    });
    			});

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.