2015-08-14 6 views
0

Я столкнулся с небольшой проблемой как проблема сегодня с javascripts Object.hasOwnProperty..hasOwnProperty ... и ценность?

У меня есть форма, которая создает свойства объекта. Проблема произошла с полем выбора, в котором было выбрано значение, и сброс возвращался к значению по умолчанию или по существу оставался пустым.

пример:

var MemberSchema = { 
    name: 'Name', 
    country: 'Country' 
    //ect... 
} 

function validateMember(member){ 
    for(var k in MemberSchema){ 
    if(!member.hasOwnProperty(k)){ 
     return false; 
    } 
    } 
return true 
} 

Проблема возникла форма добавления, как только выберите поле было изменено

member.country = 'USA'

Но не случайная ошибка пользователя изредка выберите поле будет срабатывает до

--Выберите страну--

который имеет неопределенное значение, так произошло следующее

member.country = undefined

Таким образом, позволяя функции validateMember потерпеть неудачу в обнаружении реально полного члена.

ответ

0

Я понимаю, что существует несколько способов исправить это с помощью самой формы, поскольку она является угловой привязкой к $ scope, но я выбрал следующее.

function validateMember(member){ 
    for(var k in MemberSchema){ 
    if(!member[k]){ 
     return false; 
    } 
    } 
    return true 
} 

Что мне интересно, если кто-нибудь видит потенциальную проблему с этим решением, и если кто-нибудь имеет лучший ключ объекта: метод проверки значения?

С благодарностью

Смежные вопросы