Я новичок в javascript и xpages здесь. Я обновляю приложение старых заметок на xpages. На моей xpage у меня есть поле, кнопка сохранения и управление сообщениями об ошибках. Поле используется для сохранения значения пути/имени nsf, которое пользователь вводил для последующего использования (например: //SAS/address.nsf). Как проверить, существует ли этот путь/база данных? Предыдущий LotusScript, как это (. Он использует 2 поля, один, чтобы получить путь к серверу, а другой, чтобы получить путь дб, но и для текущей XPage, требование заключается в использовании одно поле только):xpages проверить наличие базы данных
svr$= source.FieldGetText("ServerPath")
dbsvr$= source.FieldGetText("DBPath")
Dim db1 As New NotesDatabase(svr$ , dbsvr$)
If Not db1.IsOpen Then
Messagebox "Cannot find the database."
Call source.GotoField("DBPath")
continue = False
Exit Sub
End If
В поле в xpage, я добавил validateExpression validator. В собственности выражения, я вычислить следующую SSJS:
var dbdir:NotesDbDirectory = session.getDbDirectory(null);
var db:NotesDatabase = dbdir.openDatabase(document1.getItemValue("dbpath"));
return db.isOpen();
В свойстве сообщения валидатора, я ставлю «Не удается найти базу данных».
Ошибка Я постоянно получаю это:
- Выражение недействительно.
- Выражение не возвращало логическое значение.
Любой способ исправить это? Это неправильное использование валидатора? Я уже тестировал локальную базу данных и базу данных на другом сервере. Кажется, что никто не работает. Все эти базы данных, которые я пробовал, у меня были права доступа к ним.