JSFiddle - React, Tailwind, and code Playground

by dorathoto

HTML

<script src="https://cdn.jsdelivr.net/jquery.validation/1.15.0/jquery.validate.min.js"></script>
<script src="https://cdn.jsdelivr.net/jquery.validation/1.15.0/additional-methods.min.js"></script>
<link rel="stylesheet" href="https://jqueryvalidation.org/files/demo/site-demos.css">
<form action="#" id="FormMov" method="post" novalidate="novalidate">
Max: <input type="text" id="QtdEstoqueHidden" value="43" readonly>
<hr>
<input data-val="true" data-val-number="The field Quantidade must be a number." data-val-required="The Quantidade field is required." id="Quantidade" name="Quantidade" type="number" value="0" aria-required="true" aria-invalid="false">
<select class="form-control valid" data-val="true" data-val-required="The Tipo Movimentacao field is required." id="TipoMovimentacao" name="TipoMovimentacao" aria-invalid="false"><option value="">Selecione o tipo</option>
<option value="0">Ilimitado</option>
<option selected="selected" value="1">Limitar Max</option>
<option value="2">Limitar Max 2</option>
</select>
<button type="submit" class="btn btn-primary pull-right">Salvar</button>
</form>

JavaScript

jQuery.validator.setDefaults({
            debug: false,
            success: "valid"
        });
        $("#FormMov").validate({
            rules: {
                Quantidade: {
                    required: true,
                    max: function () {
                        var maxValue = $('#QtdEstoqueHidden').val();
                        var TipoMovProd = $('select[name=TipoMovimentacao]').val();
                        if (TipoMovProd == 0) {
                           
                            maxValue = 999999999;
                        }
                        return maxValue;

                    }
                }
            },
            messages: {
                Quantidade: {
                    required: "é obrigatório",
                    max: "O valor deve conter um número menor que {0}"
                }
            }
        });