Как указано в комментарии lewis4, вы можете отправлять только атрибуты name
и value
. В любом случае, вы можете использовать простой JS для создания нового поля hidden
и отправки с данными из других атрибутов.
Предполагая, что значение data-validate
всегда действительно JSON, это должно работать:
HTML
<form action="yourscript.php" id="myform" method="post">
<input type="number" name="qty_custom" id="qty_custom" value="" title="Quantity" class="input-text qty mage-error" data-validate='{"required-number":true,"validate-item-quantity":{"minAllowed":1,"maxAllowed":1000000,"qtyIncrements":1},"validate-item-blank-quantity":{"minAllowed":20,"maxAllowed":1000000,"qtyIncrements":10}}' aria-invalid="true" aria-describedby="qty_custom-error">
<input type="submit" value="Send">
</form>
<script>
$('[data-validate]').each(function () {
let $el = $(this);
$('#myform').append("<input type='hidden' name='" + $el.attr('name') + '[data-validate]' + "' value='" + $el.attr('data-validate') + "' />");
});
</script>
PHP yourscript.php
<?php
if (!is_null($_POST) && !is_null($_POST['qty_custom']['data-validate'])) {
$arr = json_decode($_POST['qty_custom']['data-validate'], true);
echo "Minimal value is: " . $arr['validate-item-quantity']['minAllowed'], '<br>';
echo "Maximal value is: " . $arr['validate-item-quantity']['maxAllowed'], '<br>';
}
Не забудьте включить jQuery в head
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
ПРЕДУПРЕЖДЕНИЕ:
Помните, что если вы хотите сделать некоторую проверку на стороне сервера, вы не должны отправлять ее через свой запрос, так как им можно легко манипулировать, поэтому проверка может можно изменить или даже пропустить.