Simplication de code Javascript
Résolu
Bonjour,
je cherche à simplifier ce code, car je sais bien qu'un dev doit suivre le principe DRY ( Don't repeat yourself ), mais dans ce cas, j'ai un peu de mal surtout que je débute en JQuery. Voici le code, il est simple, un peu long car beaucoup de répétition, c'est surtout au niveau des If que ça pose problème.
je cherche à simplifier ce code, car je sais bien qu'un dev doit suivre le principe DRY ( Don't repeat yourself ), mais dans ce cas, j'ai un peu de mal surtout que je débute en JQuery. Voici le code, il est simple, un peu long car beaucoup de répétition, c'est surtout au niveau des If que ça pose problème.
<script src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#valid').hide();
$("input[type=text]").each(function () {
this.value = this.defaultValue;
});
$("input[type=text]").keyup(function() {
var myValMoney = $('#money').val();
var myValGemP = $('#priceFS').val();
var myValTomeP = $('#priceTome').val();
var myValSellP = $('#sellingPrice').val();
var myValSG1 = $('#SG1').val();
var myValSG2 = $('#SG2').val();
var myValSG3 = $('#SG3').val();
var myValSG4 = $('#SG4').val();
var myValSG5 = $('#SG5').val();
var myValSG6 = $('#SG6').val();
var myValST = $('#ST').val();
var regex = /^([0-9]{0,8})$/;
if (regex.test(myValMoney) && myValMoney!=''){
$('#money').removeClass('databad');
$('#money').addClass('datagood');
$bool = true;
}
else{
$('#money').removeClass('datagood');
$('#money').addClass('databad');
}
if (regex.test(myValGemP) && myValGemP!=''){
$('#priceFS').removeClass('databad');
$('#priceFS').addClass('datagood');
$bool = true;
}
else{
$('#priceFS').removeClass('datagood');
$('#priceFS').addClass('databad');
}
if (regex.test(myValTomeP) && myValTomeP!=''){
$('#priceTome').removeClass('databad');
$('#priceTome').addClass('datagood');
$bool = true;
}
else{
$('#priceTome').removeClass('datagood');
$('#priceTome').addClass('databad');
}
if (regex.test(myValSellP) && myValSellP!=''){
$('#sellingPrice').removeClass('databad');
$('#sellingPrice').addClass('datagood');
$bool = true;
}
else{
$('#sellingPrice').removeClass('datagood');
$('#sellingPrice').addClass('databad');
}
if (regex.test(myValSG1) && myValSG1!=''){
$('#SG1').removeClass('databad');
$('#SG1').addClass('datagood');
$bool = true;
}
else{
$('#SG1').removeClass('datagood');
$('#SG1').addClass('databad');
}
if (regex.test(myValSG2) && myValSG2!=''){
$('#SG2').removeClass('databad');
$('#SG2').addClass('datagood');
$bool = true;
}
else{
$('#SG2').removeClass('datagood');
$('#SG2').addClass('databad');
}
if (regex.test(myValSG3) && myValSG3!=''){
$('#SG3').removeClass('databad');
$('#SG3').addClass('datagood');
$bool = true;
}
else{
$('#SG3').removeClass('datagood');
$('#SG3').addClass('databad');
}
if (regex.test(myValSG4) && myValSG4!=''){
$('#SG4').removeClass('databad');
$('#SG4').addClass('datagood');
$bool = true;
}
else{
$('#SG4').removeClass('datagood');
$('#SG4').addClass('databad');
}
if (regex.test(myValSG5) && myValSG5!=''){
$('#SG5').removeClass('databad');
$('#SG5').addClass('datagood');
$bool = true;
}
else{
$('#SG5').removeClass('datagood');
$('#SG5').addClass('databad');
}
if (regex.test(myValSG6) && myValSG6!=''){
$('#SG6').removeClass('databad');
$('#SG6').addClass('datagood');
$bool = true;
}
else{
$('#SG6').removeClass('datagood');
$('#SG6').addClass('databad');
}
if (regex.test(myValST) && myValST!=''){
$('#ST').removeClass('databad');
$('#ST').addClass('datagood');
$bool = true;
}
else{
$('#ST').removeClass('datagood');
$('#ST').addClass('databad');
}
if(!$("input[type=text]").hasClass('databad')){
$('#valid').show();
}
else{
$('#valid').hide();
}
});
});
</script>
Merci d'avance,
Xineroks