У меня есть следующий json
success {"fname": ["Поле fname требуется." ], "lname": ["Поле lname требуется." ], "email": ["Поле электронной почты обязательно". ], "password": ["Поле пароля требуется." ], "password_confirmation": ["Поле подтверждения пароля требуется". ]}
что я делаю, если это значение содержит поле, то console.log его. я сохранил json в данных var
angular.forEach(data, function(value, key)
{
if( value ==("field is required")){
console.log (key)
}
})
Я пробовал.contains,.match, ничего не работает
У вас также есть метод includes.
Здесь документ содержит: http://www.w3schools.com/jsref/jsref_includes.asp
И документ для IndexOf: http://www.w3schools.com/jsref/jsref_indexof.asp
Я лично считаю, что решение IndexOf немного грязно, поскольку оно не сделано для этого, но, похоже, это наиболее распространенное решение.
Вы можете также исследовать в StackOverflow, прежде чем спрашивать, вот ответ на ваш вопрос:
Пытаться:
if( value.indexOf("field is required") > -1){
console.log (key)
}
Это проверит, требуется ли в строке "поле".
Если ваши JSON vales ["Поле --- обязательны"], и вы проверяете равенство строк с "поле обязательным", то ваше условие if никогда не будет оцениваться как true.
Вам нужно получить часть подстроки вашего значения, если это то, что вы хотите оценить. Вы можете использовать метод string split, search, substr или другой строковый метод, чтобы получить эту часть значения: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String
Вам нужно использовать регулярное выражение с.match() или.search(). Вы также можете использовать
var idx = value.indexOf('field');
var str = value.slice(idx);
if( str == "field is required" )...
angular.forEach(data, function(value, key){
if(value.indexOf("field is required") > -1){
console.log(key);
}
});