Здравствуйте коллеги разработчиков Blackberry,
, пожалуйста, посоветуйте мне, как проверить данные, введенные пользователем в два BasicEditField (myName должно быть длиннее 2 символов; myFloat должно быть> 10.0) и:
- Отметьте BasicEditField, содержащий неправильные данные, красным
- Запретить пользователю нажимать кнопку «Сохранить» (или «ОК»)
- Что-нибудь еще, если вышеуказанные действия невозможны с Blackberry?
Ниже приведен мой очень простой контрольный пример. Это полный код src \ mypackage \ MyApp.java, который будет запущен мгновенно, если вы вставите его в JDE или Eclipse:
package mypackage;
import net.rim.device.api.system.*;
import net.rim.device.api.ui.*;
import net.rim.device.api.ui.component.*;
import net.rim.device.api.ui.container.*;
import net.rim.device.api.ui.decor.*;
public class MyApp extends UiApplication {
public static void main(String args[]) {
MyApp myApp = new MyEdit();
myApp.enterEventDispatcher();
}
public MyApp() {
pushScreen(new MyScreen());
}
}
class MyScreen extends MainScreen {
MenuItem myItem = new MenuItem("Show my dialog", 0, 0) {
public void run() {
String[] buttons = { "Save", "Cancel" };
Dialog dialog = new Dialog("My dialog", buttons, null, 0, Bitmap.getPredefinedBitmap(Bitmap.INFORMATION));
EditField myNameField = new EditField("Name (must be > 2 chars): ", "",
TextField.DEFAULT_MAXCHARS, EditField.NO_NEWLINE);
dialog.add(myNameField);
BasicEditField myFloatField = new BasicEditField("Number: (must be > 10.0)", "",
5, EditField.FILTER_REAL_NUMERIC | EditField.EDITABLE);
dialog.add(myFloatField);
if (dialog.doModal() == 0) {
String myName = myNameField.getText();
float myFloat = 0.0f;
try {
myFloat = Float.parseFloat(myFloatField.getText());
} catch (NumberFormatException e) {
}
Status.show("Name: " + myName + ", Number: " + myFloat);
}
}
};
public MyScreen() {
setTitle(new LabelField("How to validate input?"));
addMenuItem(myItem);
}
}
Прежде чем задать этот вопрос, я посмотрел на TextFilter и Field.isDataValid () , но я все еще не уверен, как проверить пользовательский ввод в Blackberry (против у меня есть довольно четкое представление о том, как проверять пользовательский ввод в веб-скрипте с помощью веб-формы - с помощью jQuery / PHP / Perl / что угодно)
Спасибо!
Alex