Hej!
Mam zrobione drzewo z wartościami w json, w którym są pola z wartościami i warunek do walidacji danych.
Przykład:
{
"Current": {
value: 12,
valid: "value < 20 && value > 9"
},
"Voltage": {
value: 9.2,
valid: "value >= 12 && value < 24"
},
"Fuses": {
value: true,
valid: "value == true"
}
}
Część wartości value
wpisywanych jest poprzez formularz w postaci strony internetowej a część przez programy, które mierzą fizycznie wartości.
Potrzebuję teraz zrobić skrypt w php, który sprawdzi mi czy wszystkie wartości spełniają warunek:
$content = file_get_contents("data/test1.json");
$json = json_decode($content, true);
$valid = true;
foreach($json as $key => $val){
$value = $val['value'];
$condition = $val['valid'];
if(!/* condition */){
$valid = false;
break;
}
}
echo $valid ? "OKEJ" : "NOT OKEJ";
I co by tu zrobić w miejscu /* condition */
?
W formularzu jest walidacja na bieżąco(javascript), która ma tylko informować, a wygląda tak:
function test_valid(value, valid){
// nazwa zmiennej value odpowiada tekstowemu zapisowi w valid
return eval(valid);
}
Nie jestem z tego sposobu dumny, ponieważ można w pole valid
wpisać głupoty i głupoty też się staną.
Aktualnie nie mam lepszego rozwiązania i też chętnie przyjmę propozycje :)
Dziękuję!